US20040117439A1 - Client software enabling a client to run a network based application - Google Patents

Client software enabling a client to run a network based application Download PDF

Info

Publication number
US20040117439A1
US20040117439A1 US10/467,766 US46776604A US2004117439A1 US 20040117439 A1 US20040117439 A1 US 20040117439A1 US 46776604 A US46776604 A US 46776604A US 2004117439 A1 US2004117439 A1 US 2004117439A1
Authority
US
United States
Prior art keywords
client
data
layer
client software
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/467,766
Other languages
English (en)
Inventor
David Levett
Robert Mills
Benjamin Nathan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Integra SP Ltd
Original Assignee
LTO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GB0103308A external-priority patent/GB0103308D0/en
Application filed by LTO Ltd filed Critical LTO Ltd
Assigned to LTO LIMITED reassignment LTO LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LEVETT, DAVID LAWRENCE, MILLS, ROBERT IAN, NATHAN, BENJAMIN LAWRENCE
Publication of US20040117439A1 publication Critical patent/US20040117439A1/en
Assigned to INTEGRA SP LIMITED reassignment INTEGRA SP LIMITED CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: INTEGRA SP IPR LIMITED
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements

Definitions

  • This invention relates to client software enabling a client to run a network based application. It finds particular utility in enterprise computing.
  • a network based application is any application in which data has to be sent to a client device over a network, such as a WAN like the internet or a LAN. It includes web applications, back end applications and web services.
  • GUI graphical user interface
  • HTML HyperText Markup Language
  • Load on back-end Servers The HTML-based Web represents a very inefficient use of computing resources. Publishing HTML's required page by page structure means that as more people log on to a system, requests to the database and the application server put a strain on these servers. Companies needing to scale operations can buy more servers with more CPUs to handle the high load, but each additional processor not only costs a lot but may also affect the license cost of all the various software packages running on the server.
  • Expensive Maintenance Complex Web systems contain thousands of lines of code on both the back-end (business logic) and the front-end (delivers the interface). The connection between the front-end and backend also contains thousands of lines of custom code which needs to be debugged and maintained. All changes to the code require programmers to manually write new code and test the functionality through staging before going to a live production site.
  • Expensive Bandwidth In today's online systems, information is presented to users through entire Web pages, which are pushed out to users over the network. As information changes or transactions are completed, users can request new pages or submit pages back to the system. However, every time pages are sent across the network, companies pay for the bandwidth used. As online systems add users and these users start to do more activities online, they consume more and more bandwidth, and as a result costs increase quickly.
  • Mobile Access As the reach of the Internet extends beyond the PC, enabling mobile access (i.e. PDAs, Cellular Phones) to business applications is becoming a standard business requirement. Current solutions for wireless delivery require separate application re-writes (and expertise) for each device supported.
  • Hiring and Retraining expensive IT Staff Integration of Web systems with existing offline systems and the maintenance of more sophisticated user interfaces for the Web using Javascript and HTML typically requires armies of programmers, burdening the budget of every department, and many times putting the overall company's viability in jeopardy.
  • Client software enabling a client to run a network based application which uses structured data, in which the client software comprises:
  • the client software is self-contained to provide all of the communications, data storage and rendering resources needed to run the network based application on the client device.
  • the 3 Layer System is fully integrated and therefore requires no additional client side code to be written.
  • data ‘Application Data’
  • it automatically communicates with the Rendering Layer causing it to update the user interface appropriately.
  • any changes to the user interface caused by user interaction eg pushing a button, turning a dial or entering in new information through a keyboard
  • the Rendering Layer can notify the Database Layer of any changes that have taken place.
  • Changes to the Database layer caused by the Rendering Layer can automatically cause the Database Layer to contact the Communications Layer and can cause it in turn to send messages over a network that indicate modifications to the Application Data on the client.
  • the 3 Layer System serves to fully insulate the user interface of the client device from a server hosting the network based application. Normally, this level of self-containment on the client side does not exist, so that a developer wishing to deploy a network based application to a client device needs to write client side custom code for the user interface, as in the Internet Explorer example given above. Also, in the traditional example, the server will often know about the rendering process on the client, and in most cases will generate the combination of Application Data and rendering instructions needed to render the information on the user interface.
  • the client software needs some limited hooks into standard resources on the client, namely those necessary for it to control the user interface of the client device (e.g. a screen or a line of LEDS), or provide non-visual functions (the term ‘rendering’ should not be construed as implying only visual rendering, but to controlling any kind of device interface). It needs hooks into standard resources to send and receive data over the network.
  • the client software relies on a Java Virtual Machine for this, but it can equally be run natively on an operating system; because it is self-contained (i.e. contains it's own communications manager, database and rendering system), porting to run on different operating systems is straightforward.
  • implementations of the invention will often be significantly smaller in size and more efficient than were the components to be independent. As a result, these implementations are suited to run on devices with limited memory and processing resources, and/or be deployed automatically at run-time over a network.
  • the database layer holds, independently of the structured Application Data, ‘Configuration Data’ which defines how that data can be interacted with from within a user interface.
  • this database is not just a record set (i.e. the product generated by a database), nor is it simple HTML, in which data and configuration data are not independent but are, conversely, inseparable.
  • the rendering layer continuously combines the Configuration Data and the structured Application Data (or rather sub-sets of both) at display time; Configuration Data can therefore be changed asynchronously from any user interaction. This independence of the Application Data and the Configuration Data enables the server to which the networked client is connected, to interact separately for changes to the Application Data and Configuration Data, and in many cases restrict its communications with the client to changes to the Application Data alone.
  • the structured Application Data and the Configuration Data is provided by a server (usually, but not invariably, physically remote from the client, a server on the same device as the client is a possibility: it could then be a closed system).
  • a server usually, but not invariably, physically remote from the client, a server on the same device as the client is a possibility: it could then be a closed system.
  • the user interface of a network based application e.g. a web based application
  • the client i.e. the look and feel of the data and the data displayed at the client is defined by the client
  • it which defines this user interface; both Application Data and Configuration Data on the client database layer can be updated in real time by the server.
  • Changes and additions can be made to the Application Data through user interactions with the Rendering Layer as an individual change (e.g. pushing a button), or a collection of changes (e.g. filling in a form or setting a group of switches).
  • Changes to the Application Data can be configured to apply locally (i.e. not cause an update via the Communications Layer to the server). This might be used to store temporary changes, (e.g. should the user wish to pre-fill in a form but not submit it until some other event has happened).
  • Application Data is added or modified at a client device (e.g. a new customer name is added to a list of customers), it is possible to enforce that the new name is displayed on the client device only once the server has processed a request from the client to add the new customer, has verified that the change is allowed and has sent updating data to the client.
  • the updating of the user interface e.g. to show the new name
  • the client software is also generic in that it is configurable on demand to the configuration parameters applicable to any client device.
  • the communications layer can use a broad range of different protocols and bearers; the rendering layer can render to multiple device types. All three layers are entirely independent of the kind of network based application the client software is interfacing with.
  • the database layer can provide an interactive, ‘thick client’-like interface for the client device such that sub-sets of the structured data held on the database layer can be selected, displayed, manipulated, altered or supplemented with much lower latency than conventional web applications.
  • a ‘thick client’-like interface is a functionally rich interface common to desktop applications that accepts user input via mouse and/or keyboard to drive functionality without recourse to a server and is capable of implementing process flow (e.g. opening new windows) and business logic (conditional behaviors dependent upon data values, validation).
  • the structured data may be in a self-describing meta-language, such as XML
  • the network over which the client and server communicate may be a WAN such as the internet, but equally may be a LAN or indeed a network internal to a single device.
  • the three layers are in effect a unitary, fully integrated system, it is also possible for one or more of the comms layer and renderer layers to be plug-in components to a browser, with the browser including the database layer.
  • the layers need not be discrete and separate, but can be interwoven.
  • each layer can interact directly with either or both of the other two layers—e.g. the rendering layer submits server calls directly to the communications layer, the communications layer can interact directly with the rendering layer—invoking actions/alerts.
  • the client software may be permanently resident on the device (e.g. part of the PROM on a mobile telephone) or may be remotely deployable.
  • An implementation which is remotely deployable is a Java applet version of the client software: this is described in the Detailed Description section.
  • Generic rendering applets do exist for presenting content (e.g. Macromedia's ShockwaveTM and FlashTM Players, Adobe's PDF Viewer, postscript viewers, spreadsheets such as Microsoft ExcelTM, word processors such as Microsoft WordTM, presentation tools such as Microsoft PowerPointTM or even web browsers such as Netscape NavigatorTM and Microsoft Internet ExplorerTM) and though they may contain certain similar components to this invention, in each case, the loose coupling of these components means that user interactivity and live updates necessitate the cost of programming the interface using some form of scripting language (e.g. JavaScriptTM).
  • the content is created in a content creation tool (e.g. a word processor or drawing tool), but interactions have to be scripted separately in that tool or by other means.
  • Another class of generic rendering applets e.g. X-Windows clients, Citrix's MetaFrameTM, Microsoft Terminal Server and AT&T's VNCTM are able to provide a rich and interactive interface to a user over a network, though in each case the rendering is controlled by a server that sends low-level display instructions to the client applet as needed (e.g. when a user types in some information, the server receives an event for each keypress and responds with instructions on what text, its location and font to draw on a screen).
  • These applets require that an application be programmed to run on the server.
  • the server will in some cases (e.g. Citrix and Microsoft Terminal Server) automatically determine the commands to send to the user interface.
  • the server application has to be programmed with explicit instructions for sending rendering information to the client
  • a further class of applets are those created to work with relational databases (e.g. Oracle SQL*Forms, Microsoft AccessTM, Powersoft PowerbuilderTM, Gupta SQL*WindowsTM, Microsoft Visual BasicTM.
  • relational databases e.g. Oracle SQL*Forms, Microsoft AccessTM, Powersoft PowerbuilderTM, Gupta SQL*WindowsTM, Microsoft Visual BasicTM.
  • applications e.g. Oracle SQL*Forms, Microsoft AccessTM, Powersoft PowerbuilderTM, Gupta SQL*WindowsTM, Microsoft Visual BasicTM.
  • dynamically configurable and real-time rendering of the user interface requires some form of programming or scripting.
  • the database is held on the server, so interactions by the user that require complex queries (e.g. filtering) can often result in each client requesting new data from the server database thus increasing network traffic and server load.
  • the network communication, the database, and the rendering process are all on the client, they are typically loosely coupled and are deployed as independent components rather than as a single, tightly integrated architecture, and require separate
  • Implementations of the present invention can be deployed identically to disparate devices and configured entirely from the server, even to the extent of being deployed as needed at run time and disappearing when no longer needed.
  • the thick client performance provided by the local applet is derived in part from distributing some of the data processing and run-time integration overhead (needed to operate web applications etc. rapidly) away from the originating web server/back end application etc. and sharing it instead between the generic applet on the client side (as defined above) and a new server side intermediary, which, as noted above, we refer to as a ‘Presentation Server’.
  • a ‘Presentation Server’ is generally any kind of server that determines how data will be displayed on a client device). Because the present invention relates principally to a client server architecture, it may be helpful to describe the entire client/server architecture at this point so that the 3 Layer System can be seen in context. (The 3 Layer System could in principle also be implemented in a peer to peer architecture, or in an entirely closed device, but the client server architecture is currently seen as the most commercially significant).
  • the database level of the 3 Layer System comprises data sent over a network from a remote Presentation Server which in turn receives that data (or super-sets of it) over a network from an originating source, which may be a web server, a back end application, a messages queue or a web service (or multiple sources of these types) able to generate structured data (e.g. XML or SQL format data directly (or indirectly through a generator).
  • a remote Presentation Server which in turn receives that data (or super-sets of it) over a network from an originating source, which may be a web server, a back end application, a messages queue or a web service (or multiple sources of these types) able to generate structured data (e.g. XML or SQL format data directly (or indirectly through a generator).
  • structured data e.g. XML or SQL format data directly (or indirectly through a generator).
  • this client server architecture envisages a new approach which is neither entirely thick client, nor entirely client-server, nor entirely fully distributed, but blends aspects of each. It involves sending the structured data, which the client device needs to manipulate, once only from the originating source (web server etc.) to an intermediary Presentation Server.
  • the Presentation Server then caches and sends this structured data, to the 3 Layer System on the client itself and subsequently keeps the database layer in the 3 Layer System automatically updated (or ‘synchronised’) with the originating source.
  • the Presentation Server insulates the originating source from needing to know which clients need to be updated, what updates they need, how to communicate with clients, and the user interface at the clients.
  • server based data updates where all data interactions/functions are directed to the Presentation Server and then passed to the backend application. Updates are then picked up by and distributed to all relevant client connections. The result of the action (data changes) are then reflected in the local data and rendered.
  • changes to the local database can be also automatically sent by the 3 Layer System to the Presentation Server, which in turn automatically updates the originating source. Any consequential changes to data at the originating source are then sent back up to the Presentation Server, which in turn works out which client devices need to know about this update and then sends them out to all client devices affected by the change.
  • Careful design and deployment of web applications and 3 layer systems can maximise the extent of local computations (i.e. performed on the client device by the 3 layer system) and therefore minimise the frequency of interaction with the Presentation Server or originating source, which are typically co-located in a physically remote setting far from client devices and accessible over only over a WAN such as the internet.
  • a networked application which, when invoked or run, causes client software as defined above to be run on a client device.
  • web server which hosts a web application which requires client software as defined above to be run on a client device.
  • a client device when programmed with client software as defined above.
  • FIG. 1 is a schematic of the main components of the AltioLive Client (ALC);
  • FIG. 2 is a schematic showing the order of events, which occur when a client communication is initiated
  • FIG. 3 is a schematic showing the chain of events, which occur when a user does something, which requires additional data;
  • FIG. 4 is a schematic of various aspects of the ALC configuration
  • FIG. 5 is a schematic of a simple Synchronization Engine configuration
  • FIG. 6 is a schematic of a complex Synchronization Engine configuration
  • FIG. 7 is a schematic of the AltioLive Deployment Architecture
  • FIG. 8 is a representation of a screen view. The initial data served by the Synchronization Engine is shown in this example;
  • FIG. 9 is a representation of a Service Function
  • FIG. 10 is a representation of a screen view depicting the Datapool
  • FIG. 11 is a representation of a screen view of a “NEW_SALE” Service Function
  • FIG. 12 is a representation of a screen view of a “NEW_BID” Service Function
  • FIG. 13 is a representation of a “Select Product” list, including a GET_APPIMG image server command;
  • FIG. 14 is a schematic of the full system architecture of an AltioLive application
  • FIG. 15 is a schematic of the interaction between the Synchronization Engine and the Application with emphasis on three main areas; the Data Service Function, Image Service Functions and Datapools;
  • FIG. 16 is a schematic of AltioLive in Dynamic Mode. In Dynamic mode it is necessary to change the HTML to reflect the connection to the Synchronization Engine;
  • FIG. 17 is a schematic of the Logon process used by the AltioLive Demonstration applications.
  • AltioLive solves the technical challenges of streamlining development, deployment and maintenance of real-time interactive Internet/web applications. Updates to data items are received ‘live’ at a client device and can be transmitted concurrently and automatically to client devices to avoid users requesting updates and then having to wait for server responses. Access to the application through alternate devices (e.g. wireless access) presents the user with their data automatically rendered for display and navigation on the device, whether it is a cell phone or a Personal Digital Assistant (PDA). For certain PDAs, AltioLive can be implemented directly (e.g. IPAQ). For cell phones, Web TV and lightweight PDAs, the application is provided via HTML or WML pages generated by a renderer engine in the Presentation Server. Thick client functionality is not provided on these devices.
  • alternate devices e.g. wireless access
  • IPAQ Personal Digital Assistant
  • the application is provided via HTML or WML pages generated by a renderer engine in the Presentation Server. Thick client functionality is not provided on these devices.
  • an Altio Presentation Server deploys and intelligently manages real-time, interactive Internet or Web applications by serving appropriate XML data to client devices.
  • the functions of the APS are (a) to receive and store XML data from the source of that data (e.g. web server, web service provider etc.); (b) to supply to each client device an appropriately configured 3 Layer System—in this instance a generic applet (as described above)—this generic applet handles client device display and communications functions; (c) configuration, initial data and supporting files (images and ‘skins’) and (d) to provide XML formatted data updates to the client in real-time and (e) to process client device requests to process updates and /or provide further information.
  • the APS therefore assumes responsibility for properly configuring the generic applet so that the database layer (an XML database layer in the case of AltioLive) on the client displays the correct data for a particular user, in the correct format and with window controls appropriate to that user, and in an optimal manner for the display capabilities of different client devices. It also assumes responsibility for all communications functions to/from the client device by appropriately configuring the generic applet, which it sends to the client device.
  • the communications functions enable data to be exchanged with any device type and OS (e.g. PC, AppleTM, UnixTM, SymbianTM, PalmTM etc) and over any bearer/protocol.
  • the updating function ensures that all client devices are up to date or synchronized. In AltioLive, this function is achieved using one or more clustered ‘Synchronization Engines’ (SE).
  • SE is a server-side software application, which runs on the Altio Presentation Server, and coordinates and controls the interaction between multiple clients, Web applications and server data sources over multiple communication protocol types, while still being configurable via industry standard XML.
  • the SE allows for enterprise scale real-time data updates without the need for a client to use a browser ‘refresh’ button; live data synchronization across multiple users is possible.
  • Static applications can therefore be transformed into dynamic ones and these applications can be extended to multiple devices in different formats, all from a centrally managed location.
  • AltioLive Client the generic applet is called the AltioLive Client, this applet enables live data to be displayed in fully interactive windows inside a user's browser.
  • the AltioLive Client Upon a request to the web server or other ultimate data source, by the client device, the AltioLive Client is deployed to the user's machine from the SE as a small Java applet.
  • the applet is generic and self-contained—i.e. no additional code is needed to make it suitable for a specific purpose. Instead, it interprets the configuration file sent from the SE to implement different views and behaviours so that it works for a specific web application/client device/bearer combination.
  • the AltioLive client has three layers:
  • a database layer stores applet configuration parameters and UI parameters like windows, window controls, data binding to these controls and event models; stores also the web application related data (a super-set of what is displayed at any time)).
  • the communications layer provides a means to robustly send and receive messages between the network based application running on the client, and the necessary supporting Presentation Server.
  • Interface with Database Layer to receive messages to be sent to the Presentation Server (e.g. when the network based application data is changed)
  • the Database Layer provides a means to hold and query network based application data and user interface configuration data as well as an interface to the Communications Layer and the Rendering Layer.
  • the structured data may be XML; XML querying approaches can be used to combine and/or extract data subsets
  • the Database Layer can provide temporary cacheing of network based application data on behalf of the rendering layer, in order to reduce and/or minimize the need for the 3 Layer System to communicate with the server in the course or running the network based application.
  • the Database Layer supports dynamic additions, modifications and deletions to the information it holds, triggered either by the Communications Layer or the Rendering Layer.
  • the Database Layer responds on demand to requests for information from the Rendering Layer.
  • the Database Layer may in response to a request from the Rendering Layer, issue a request in turn to the Communications Layer to retrieve further information from the Presentation Server (e.g. when the Rendering Layer has asked for data not yet present in the Database Layer)
  • the Database Layer may have a means to manage its size and may choose to expire and/or archive old or infrequently accessed information
  • the Database Layer works in conjunction with the Rendering Layer to automatically trigger changes to the user interface to reflect the current state of the data in the Database Layer
  • the Rendering Layer provides a means to (a) combine information describing an interface for a network based application with information to be rendered within that interface and (b) dynamically construct and manage the display of the application interface on the host client platform (e.g. a web browser or handheld device).
  • the host client platform e.g. a web browser or handheld device.
  • the Rendering Layer generates a user interface that reflects the state of the information in the Database Layer
  • the Rendering Layer can generate a dynamically updated user interface that continually reflects the latest state of the information in the Database Layer
  • the Rendering Layer may support interaction with an end user through inputs from an external input device (e.g. a keyboard, button panel or mouse)
  • an external input device e.g. a keyboard, button panel or mouse
  • the Rendering Layer may generate a network based application interface at the pixel level
  • the Rendering Layer is responsible for generating and managing user interface controls (e.g. text entry boxes, charts, scroll-bars)
  • the Rendering Layer may display information in a traditional desktop format using multiple overlapping views.
  • the Rendering Layer may support user interaction with the user interface such as drag & drop of information between views, entering data into a text box, pressing a button.
  • the Rendering Layer may support rendering of network based applications on devices and/or in a form other than pixels on a screen. (e.g. lines of text on a cell phone or LEDs on a domestic appliance)
  • the Rendering Layer may support interfaces to alternative rendering mechanisms independently of its own drawing capabilities (e.g. JavaScript calls and triggers to and from the Rendering Layer)
  • the generic applet provides a generic display capability by being able to download from the remote Presentation Server one or more of the following, each configured appropriately for the destination browser, device type and bearer: windows, controls on the windows, data binding to the controls and event models.
  • the XML data is bound to the controls and event models, so that a web application developer need only define what data is to be associated with each window control; the applet then handles how data should be displayed when different events occur (e.g. if the data is a list of names, the applet handles how the name list is displayed if a ‘sort by alphabetical order’ control is selected).
  • This ‘View’ definition can be made specific to each user—allowing different users to be able to see or manipulate different data sub-sets and hence providing an access control mechanism.
  • the applet provides a zero-client footprint in that it is (a) installed on a client device only in response to the client device initiating or requesting a web application or web service and therefore does not need to be pre-loaded or installed and, (b) after the client device has ceased using the web application or web service, it may be removed entirely from the client device.
  • the small size of the applet allows it to be rapidly downloaded. Once the Java applet is running on the user's machine, it maintains a persistent connection with the Presentation Server. The Presentation Server will then ‘push’ or propagate new data to all parties that require it Only data, which has actually changed, is pushed across the network, reducing the bandwidth used, unlike HTML systems that send an entire page when only a single data point in the page alters.
  • Another alternative to the persistent streamed connection is a polling connection, which makes regular requests for data changes. This uses a timestamp mechanism to ensure that only new updates for the individual client making the request are returned.
  • the XML database provided by the applet enables XML data from two or more different web applications, web services or data sources to be combined or manipulated in one or more windows running in a browser on the client device as though from a single source.
  • the generic applet can generate multiple windows in a browser window of the client device, with a user able to sort data, edit data or scroll through data in each of the windows, without the need for there to be any client side software development
  • the generic applet allows XML to be cut and pasted into a clipboard or other form of temporary memory. Hence, a user can drag data (e.g. numerics, text or images) from one window generated by the XML database and drop it into another window the appropriate changes (including computations) resulting from pasting in the new data into the applicable field of the new window are generated and displayed.
  • data e.g. numerics, text or images
  • the generic applet can generate multiple windows in a browser window of the client device, with each user able to define a personalised arrangement of windows and data to be displayed in each window, with the data to be displayed in each window capable of being obtained from several different web applications or web services.
  • XML data is associated with pre-defined controls by a developer and then at run time the generic applet automatically displays the data in conjunction with some or all of those controls.
  • the XML database can be accessed using XPath queries, in which standard XPath queries are enhanced with the following features: indexed retrieval; direct reference to elements and attributes identified by controls.
  • Session objects can allow the remote Presentation Server to provide to the XML database the applicable data and configuration parameters appropriate to the client device and the last state of the client device known to the remote Presentation Server . This prevents unauthorised access without a session object. Session objects are user specific, so that users can access a web application irrespective of client device being used. The PS also maintains the notion of a Connection, allowing a single session to support multiple connections (two browser windows for example) each running a different view/configuration.
  • the AltioLive Presentation Server integrates with Web Applications to efficiently and securely distribute live XML data to users across the Internet through the range of Altio Clients.
  • the APS has the following three functional aspects:
  • Display The APS provides a trusted architecture for the presentation of real-time interactive applications. Through a tiny, browser-based applet and XML configuration, Internet applications deliver a completely customisable, dynamic interface with desktop-style functionality (e.g. drag and drop, resizable windows, customisable screen colours, customisable fonts, full UI configurability according to user's role and preferences).
  • desktop-style functionality e.g. drag and drop, resizable windows, customisable screen colours, customisable fonts, full UI configurability according to user's role and preferences.
  • Communications The connection between the application (on the server) and the end-user (on the client) governing the form and method of communication between the application (on the server) and display to the user (on the client).
  • the APS provides a persistent, secure connection between the application and clients, transmitting data via configurable HTTP/HTTPS polling or streaming access mechanisms.
  • the live data is displayed in interactive windows inside the users' browsers through the appropriate client
  • AltioLive Client delivery vehicles a live, interactive, thick-client style user interface within the user's browser.
  • Pervasive Client delivery vehicles a page-oriented user-interface rendered for user access through simple devices such as PDAs and mobiles.
  • Data Client delivery vehicles live, interactive data for presentation through a DHTML interface.
  • the APS is implemented as one or more clustered Synchronization Engines (SE)s that are monitored and managed through the SE Admin Tool.
  • SE Synchronization Engines
  • the AltioLive Client is a computer user interface that radically enhances how information can be displayed and updated over Internet technology.
  • An ALC is composed of a number of components:
  • the ALC 100 typically fits into a configuration that consists of a Web browser 103 in which the ALC runs as a small machine independent client applet
  • the web browser would be running on an Internet Client 104 that would be connected to a web server 105 via the Internet 102 .
  • the web server would be the gateway to the Internet for a number of server based web applications 106 a and 106 b etc.
  • the Internet Client could be a personal computer running browser software, a Wireless Application Protocol (WAP) mobile phone, a Personal Information Manager (PIM), or other information-viewing device. For live connectivity these devices must support some form of network connection (e.g. by using the Java 1.1 Virtual Machine).
  • the personal computer would typically be a workstation (e.g.
  • the web server 105 would control the communication with the client using standard HTTP 109 .
  • the ALC would use HTIP for the initial communication but could then switch to using alternative communication protocols, such as TCP/IP or UDP, which better suit the application. In this way the ALC and the SE set up their own communication link 110 .
  • ALC Java Applet is small enough to be downloaded and configured on the browser each time the user starts a session with the application. This then gives rich client functionality without the need for add-ins and complex installation procedures.
  • the ALC creates an XML Database (inside the ALC space) on the desktop which not only stores all the data immediately required by the client but also has all the configuration information on how the interface should look and what the user preferences are.
  • the key to the uniqueness of the ALC is how it interacts with the SE.
  • the SE is a server-side layer that serves the ALC with the configuration, data and updates.
  • the web server will pass the request on to the SE, which will return a page to the client containing the ALC applet.
  • the ALC is then initiated in the client browser and from then on establishes and maintains communications with the SE.
  • the user To allow the user interface to be personalised, the user must make themselves known to the system and will therefore be allocated a unique key that can be used to reference personal preferences.
  • the SE amalgamates XML from a number of sources to send back to the ALC 204 .
  • the SE could get information from the following:
  • the SE can be configured to retrieve this information in a number of different ways, including standard HTTP calls, SOAP, JDBC, Socket, or JMS.
  • the ALC will use this data to render a display to the user 205 .
  • the user can then interact with the data in a familiar desktop environment As the user interacts with the application the ALC may contact the SE for additional data or it may initiate an update of the data.
  • the SE can be configured to be an intelligent cache of web application data 304 , thereby reducing the load on the web application itself.
  • An example of this would be a news server. If the SE already has the requested news article then it doesn't need to interrogate the web application.
  • the SE can also be configured to only return changed data therefore reducing the amount of data sent 305 .
  • the SE uses a timestamp mechanism to ensure that a client connection only receives “new” data changes.
  • the ALC is totally configured with the use of industry standard XML. There are a number of aspects to the configuration:
  • the interface definition 401 defines how the application will be rendered by the client in terms of windows, controls, images etc. This is initially defined for the application but then may be modified to take account of the user's specific configuration.
  • the data configuration 402 defines the data to be served to the client This is the XML definition of data that will be stored in the data section of the XML Desktop database.
  • the User Preferences 403 allow user specific requirements to be created and stored in the SE. These can then be used the next time the user logs on.
  • the Communication Definition will define how the ALC should interface with the SE in terms of the underlying protocol. Typically this would be HTTP Streaming or Polling.
  • the Synchronisation Engine is a software application that can co-ordinate and control the interaction between multiple clients, multiple web applications or server data sources and multiple communication protocol types, while still being configurable via industry standard XML.
  • An SE is composed of a number of components:
  • a network server machine [0201] A network server machine
  • the SE would be located on a network server machine. Typically there would be a CPU, random access memory, permanent disk storage, ports for communicating with other servers on the local network, a manual input device and a display unit. Once the server was set up it would generally be administered remotely via the comms ports, in which case the keyboard and VDU might be removed.
  • the server is designed to run an operating system that is stored on permanent disk and is loaded into memory at start-up.
  • the operating system would typically be Windows NTTM or UnixTM or LinuxTM, but could be any operating system that can support JavaTM Servlets.
  • To communicate over the local/wide area network the server would require a communications protocol stack such as TCP/IP.
  • the software to control the SE would also be stored on permanent disk within the server and would also be loaded into memory as required.
  • AU the configuration information for the SE controlling software is stored as XML.
  • a key aspect of the SE is communications.
  • the SE is able to communicate with back-end applications, with front-end clients and with other SEs. It can communicate at a number of different levels and in a number of different modes.
  • the SE controlling software will need to know the network protocol by which it needs to talk to each client and application. For communication to backend applications this could be HTTP, JMS, SOAP, Socket, or JDBC. Communication with the clients will typically be across the Internet and would therefore be over HTTP, but in some scenarios could be over TCP/IP or UDP.
  • the SE will need to know the network address of each communications partner, for TCP/IP this would be the IP Address or the server name which this then translated into a TCP/IP address.
  • the SE would be configured from a number of XML configuration definitions.
  • the server configuration 401 defines what data pools are going to be available and the definitions of the service functions required to interact with the web applications that are enabled through the SE.
  • the server configuration also defines the architecture of the SE in terms of clustering security and communications.
  • the data configuration 402 defines the data to be served to the client. This is the XML definition of data that will be stored in each of the data pools. Each data pool is a transaction log, which tracks changes to the data set(s) held in the client.
  • the application configuration 403 defines how the application will be rendered by the client in terms of forms, screen, images etc. This is initially defined for the application but then may be modified to take account of the users specific configuration.
  • the application default 404 will store system defaults such as refresh rates and other variables. These will be set at start up.
  • Push This is where the SE propagates data to all parties that require it. This is used to keep the clients in sync with web application data changes. Web applications can also be set up to push data to the SE.
  • Pull This is where the SE polls for the latest data, on a time basis or on user instigation.
  • the client can also pull data from the SE.
  • An example of a “Pull” is how changes to data on the web application are propagated back to the web client via the SE. Typically a web page is only refreshed when the user requests one and when it is refreshed all the data is transferred from the server even if it hasn't changed.
  • the SE introduces a number of alternatives depending on the application requirements.
  • the SE can be configured to check for changed data at different time intervals 404 .
  • the SE detects a change 408 independently of a RE (Rendering Engine/layer) request 402 , then it can either cache the change or push it to all clients who currently require it Changes would only be able to be pushed to the RE if a suitable communications protocol was in place such as HIP Streaming, TCP/IP or UDP.
  • FIG. 5 The first embodiment of this invention, Synchronisation Engine Simple Configuration, is depicted in FIG. 5.
  • This figure shows the simplest configuration consisting of one SE server 504 which would be connected to a number of applications 507 and optionally the web server 508 . It would also be connected to the Internet 503 .
  • FIG. 6 demonstrates how multiple versions of the SE can be pieced together to form a scalable and fault tolerant network This can be done without any code changes and with minimal configuration changes and the configuration that is required is all via XML.
  • the SE system can be deployed many times to produce a hugely scaleable and fault tolerant system.
  • there are two main SEs 601 & 602 these would act as dual redundant servers providing a high degree of fault tolerance.
  • Each SE would have independent links to the source applications 604 .
  • the SE invention embodies code that will allow these servers to keep themselves fully synchronised 603 .
  • This approach provides a large degree of scalability by allowing the SEs to be setup in a snowflake configuration.
  • the two main SEs, 601 & 602 would act as the hub and would then be connected to other SEs 605 & 606 etc rather than directly to clients. Each one of these satellite SEs could then be linked to a large number of clients.
  • the SE invention incorporates the propagation logic required to service this complex snowflake configuration.
  • More SEs could be setup in parallel to provide additional resilience and scalability. Also the snowflake configuration could be extended to have many layers thereby giving near infinite scalability.
  • the client was based on a web browser, it would be possible to have other types of user interface such as a Wireless Application Protocol (WAP) phone or a Personal Information Manager (PIM).
  • WAP Wireless Application Protocol
  • PIM Personal Information Manager
  • the SE can also be split over many Central Processing Units (CPUs) within the same server or over many servers.
  • the generic applet must be configured so that the XML database layer on the client displays the correct data for a particular user, in the correct format and with window controls appropriate to that user, and in an optimal manner for the display capabilities of different client devices.
  • the APS has responsibility for configuring the generic applet This is achieved via the XML Deployment Package (XDP).
  • XDPs contain the definitions for the following AltioLive elements:
  • Service Functions define the data (XML data & related Image data) available to users from the Web Application and the mechanisms available to update the Web Application.
  • AltioLive-Views defined the live interactive user-interface delivered through the AltioLive Client. There can be multiple views according to user roles.
  • Pervasive-Views defined the page-rendered user interface delivered through the Pervasive Client There can be multiple views according to user roles and/or device capability.
  • Data-Views define the data and access available through the Data Client for a DHTML user interface.
  • XDPs can be developed as self-contained entities. Typically a self-contained XDP is used where the views are tied to a specific Web Application e.g. a contract resource application could provide a requirement-view, a resourcing-view and a phone-based timesheet entry-view. Self-contained XDPs are also used in delivering third-party components (e.g. a Chat or e-mail component) that are effectively ‘plugged-in’ to application-specific XDPs. XDPs can also make use of definitions from other XDPs to define their views.
  • third-party components e.g. a Chat or e-mail component
  • the views merge XML data from many applications into a specific role-based view (e.g. a salesman sees a cross-system-view combining sales tracking data, customer management data and credit control; the sales director sees a view combining aggregated sales data, personnel monitoring and campaign performance data) or to use elements of a third-party
  • a specific role-based view e.g. a salesman sees a cross-system-view combining sales tracking data, customer management data and credit control; the sales director sees a view combining aggregated sales data, personnel monitoring and campaign performance data
  • XDPs are developed within the AltioLive Development Edition (ADE) and then registered with the APS using the SE Admin Tool. This distributes the XDP across all Synchronization Engines in a duster to make it available to users.
  • ADE AltioLive Development Edition
  • AltioLive combines best-of-breed security technologies and practices to ensure a flexible, configurable and comprehensive security architecture for all applications.
  • AltioLive is designed to integrate within existing security frameworks. It takes advantage of existing session management and Secure Socket Layers and provides unique additional security features to offer a robust and highly secure environment for all systems.
  • AltioLive users do not directly log-on to the APS.
  • AltioLive intentionally reuses the session object created in the web server/application server in order to let you take advantage of:
  • AltioLive leverages existing application servers' ability to enforce rules that govern whether a connection should be established based on client IP access or protocol. This allows companies to decide if “Client” refers to AltioLive Client, AltioLive Pervasive Client, and the AltioLive Data Client.
  • Individual or groups of users can be assigned different views/windows, which can be populated by data specific to each group's or individual user's need. Groups and/or individually registered users can subscribe to different data pools in the APS. Users only see the data to which they subscribe. In this way, AltioLive prevents unauthorized users from seeing sensitive data as well as allowing for unique user experiences/views. Through the APS, system administrators can control which users see which data to ensure only the right data reaches the right users. For example, views could be configured for different roles in an organization (i.e. Salesperson, Sales Manager, Credit Controller etc.) that provide access to a number of backend systems—each role would have a view that restricts what functions are available and deliver only data that is relevant to their role. Specifying individual access levels through the APS allows production systems to be up and running very quickly with minimal configuration and no coding.
  • AltioLive offers users a number of security features:
  • AltioLive includes support for a Secure Sockets Layer (SSL) and digital certificate implementation that provide authentication and privacy via encryption in distributed APS applications.
  • SSL Secure Sockets Layer
  • the Client/APS connection takes advantage of current SSL technology including 56 and 128 bit cipher strength connections.
  • AltioLive is compatible with certificate authorities that support X.509v3 certificates. This means that developers are free to use the vast majority of certificate authorities available today.
  • the APS In secure operation, the APS requires a digital certificate to be able to prove its identity to Clients and other servers.
  • a Client contacts the APS using SSL, they first request the server's digital certificate to prove its identity. Once the Client receives the server certificate, identity is assured, and the Client and APS can confidently send data back and forth across the network.
  • the APS SSL installation can be configured to also provide authentication for Clients and Web browser. This is called a two-way authentication and incorporates the same digital certificate verification process. The major difference for two-way authentication is that the digital certificates are located in both the Client and the APSs.
  • both the Client and the APS can trust the identity of the other. Furthermore, once mutual authentication has been set up, a private channel can be created between the two hosts consisting of encrypted data. Many systems will also require that the data which the Client receives from the APS and vice versa to be secure/encrypted. SSL allows both the APS and the Client to encrypt the data exchanged between them. Potential hackers acquiring the data in transit are therefore unable to understand it. Streaming data connections are designed to make efficient use of secure connections to reduce server load as opposed to regenerating cipher keys for every request. Use of compression techniques on the data stream further enhances security while reducing the overhead of encryption on the overall system. Both the Client and the APS monitor connections to detect loss of connection. Clients' connections can be configured to either fail-over to another APS or require the user to re-establish their session through a login.
  • the APS can be clustered for load balancing in master/slave relationships (as well as peer-balanced relationships). These connections are effectively point-to-point connections that can use HTTP, HTTPS or socket connections to secure the interface. If the APSs are distributed in geographically different areas (not in the same data center behind the same physical firewall, for example), the SSL protocol provides secure connections by allowing these APSs to connect over the Internet and authenticate each other's identity and by encrypting the data between the APSs. For security above SS, hardware encryption can be used on the specific connection between servers. All APSs accessing the cluster must be pre-registered with compatible license keys, which prevent spoofing of any of the servers.
  • the backend Web Application and the APS are usually in a closed and physically secured environment to prevent direct access to backend data from any outside client device.
  • SSL and digital certificates provide the necessary authentication and data encryption to ensure that the Web Service is a proper entity and all data transmitted is only decrypted and viewed by the intended recipient
  • the Client will automatically reestablish the connection with the APS (the reconnection strategy is configured through AltioLive Tools).
  • the Client requests all updates since the last timestamp that it successfully received, guaranteeing delivery of all messages in the correct sequence.
  • the Client For streaming data to the browser, the Client is just listening for data updates. In the case where it does not receive any updates or a probe message in a configured interval, it will start its re-connection process to the APS. In the meantime, the APS will generate an exception when the probe message cannot be sent.
  • the Client does not store any information locally on the workstation (configuration, data or even images). This means that the user can safely access their application from shared/networked platforms without worrying that their data is accessible by others when they have logged-off. This is a key issue in the access-anywhere features of Altio's technology. Standard session time-outs can be used on the server to time-out inactive sessions. The Client can also be configured to disconnect on logout and/or moving from the host page to prevent someone using the Back/Forward functions of the browser to reactivate the application (if it hasn't already timed-out).
  • the Client is implemented within the standard Java 1.1 Security model. AltioLive Clients therefore do not have access to local data or services on the end-user's system and developers cannot undertake bespoke development to override the functionality of the Client. As an option, the Client can be ‘signed’ to give end-users additional comfort that the software can be trusted for use on the specific application.
  • AltioLive is designed to take advantage of existing security frameworks, such as session management, user authentication and Secure Socket Layers, reliable data delivery and transaction authentication, and it provides additional unique built-in security functionality to offer the most robust and highly secure environments for developers and end-users at a fraction of the cost and time of alternative techniques.
  • AltioLive With its XML-based architecture, AltioLive eliminates all the challenges posed by HTML, JavaScript and Dynamic HTML in the development of Internet applications.
  • AltioLive provides companies the following benefits:
  • AltioLive provides a client/server-like environment directly inside the browser, giving users the same power as they have in traditional offline client/server-based systems. With AltioLive users have all the data they need at their fingertips in real-time, allowing the functionality in the system to be richly interactive. Graphs, drag-and drop, sorting, resizing and dynamically changing data are all available to users right inside the browser.
  • AltioLive allows end-users to access Web applications from any Internet enabled mobile device including Palm, WinCE, WAP phones, and Web TV)—freeing them from the traditional PC-centric Internet experience.
  • AltioLive applications can be deployed almost anywhere as they are based on pure XML and can be ‘tuned’ to meet people's various needs.
  • AltioLive Designer tool developers drag and drop lists, graphs, buttons, images, and design windows with the use of their mouse. There is no coding required to develop the front-end, and only minimal coding for the connection between the front-end and the back-end. This frees up precious programming resources to focus on building business logic rather than tedious and error-prone HTML. AltioLive significantly shortens development cycles, to enable faster time-to-market with considerable cost savings. Companies using AltioLive for large development projects have seen as much as 90% time and cost savings, equivalent to more than a million dollars in upfront cost
  • AltioLive eliminates the chance of bugs through human error. Changes to the front-end can be implemented immediately using the AltioLive Designer tool. Connections from the client to back-end servers are also handled by AltioLive and while some of the integration requires actual code from developers, most of the tasks are automated by AltioLive. AltioLive reduces bugs and eliminates the need to have significant IT resources or consultants on hand whenever changes have to be implemented.
  • AltioLive pushes data across the network only when the data actually changes. Even then, it only sends across the data that needs to be updated, not entire pages, tables, graphs or windows. Consequently, AltioLive-based systems substantially reduce the bandwidth used, saving companies substantial money on their bandwidth charges.
  • Customized and role-based views Multiple views can be easily created for an application (e.g. basic vs. advanced or manager vs. employee) and be automatically distributed by individual or role.
  • White Label Applications The look and feel of an AltioLive application is determined by ‘skins’ that allow very fine control (at the pixel level) of how applications look in the screen.
  • the AltioLive Designer tool can tailor applications for a number of customers (i.e. incorporate their logos, borders etc.) to provide users with a uniquely branded experience.
  • AltioLive provides secure communication through standard SSL (Secure Sockets Layer) and HTTPS with the Web server or application server doing the encryption and decryption in the server, and the browser doing the same on the client side. Additionally, the AltioLive applet runs in a carefully protected ‘sand box’ environment on the browser, preventing any ability to read/write to the hard disk drive on the computer. AltioLive-based applications can be used from public locations, such as net cafes, libraries etc. because it is as harmless as a plain HTML page and leaves no data cached behind.
  • SSL Secure Sockets Layer
  • HTTPS Secure Sockets Layer
  • AltioLive allows companies to instantly make changes, small or large, with virtually no coding on the client and only limited coding on the connection from the client to the server. This ability allows companies to adjust their systems on demand, rather than leave them with less than adequate functionality as business requirements change.
  • Altio Presentation Server The operational platform for delivering live XML data to users through the Altio clients.
  • AltioLive Client Client that delivers a windows style live interface within a browser.
  • AltioLive Pervasive Client Multi-device client that renders onto devices such as WAP, Web TV, PDAs.
  • ADC AltioLive Data Client
  • a ‘client device’ is any device which can be controlled over a network and has some means by which a human can view and/or interact with it. It could be as simple as a network controllable light bulb and switch or more complex, such as screen & keyboard based personal computers. Software on the client device can be embedded or installed onto the device or delivered on demand to the device over a network.
  • a ‘data source’ is any source of data potentially relevant to a network based application and includes basic data feeds (e.g. news headlines, equity quotes, sensor measurements) and more complex enterprise applications (e.g. Client Relationship Management Human Resources, Enterprise Resource Planning and Accounting systems). Any ‘data source’ can also be independently or simultaneously a ‘data receiver’ and accept structured data and commands from the presentation server.
  • basic data feeds e.g. news headlines, equity quotes, sensor measurements
  • complex enterprise applications e.g. Client Relationship Management Human Resources, Enterprise Resource Planning and Accounting systems.
  • Any ‘data source’ can also be independently or simultaneously a ‘data receiver’ and accept structured data and commands from the presentation server.
  • DNS Domain Name System
  • DNS The Domain Name System
  • IP addresses are an Internet directory service. DNS is used to translate between domain names and IP addresses, and to control
  • HTTP Hyper Text Transport Protocol A request-response type protocol that specifies that a client will open a connection to a server then send a request using a very specific format.
  • HTTPS Secure Hyper Text Transport Protocol A request response type protocol with encrypted data using Secure Socket layer (SSL)
  • Java Virtual Machine A self-contained operating environment that behaves as if it is a separate computer. For example, Java applets run in a Java Virtual Machine (VM) that has no access to the host operating system.
  • VM Java Virtual Machine
  • a network based application is any application that can run over a physical or virtual network and where the client device is generally independent of the data source.
  • a ‘networked based application’ includes configurations where the network is virtual (e.g. both the ‘presentation server’ and the “client device” are on the same physical machine), or where the ‘network’ is established on occasion (e.g., as would be the case for many synchronizable handheld devices).
  • Admin Tool An in-browser tool to administer and monitor Synchronization Engines.
  • Synchronization Engine The server-side component that integrates AltioLive with Web Applications and delivers live XML data. View what a user sees and interacts with in AltioLive-based applications—i.e. their interface to the application.
  • VPN Virtual Private Network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
US10/467,766 2001-02-12 2002-02-12 Client software enabling a client to run a network based application Abandoned US20040117439A1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB0103308.3 2001-02-12
GB0103308A GB0103308D0 (en) 2001-02-12 2001-02-12 Synchronisation engine
GB0112433A GB0112433D0 (en) 2001-02-12 2001-05-22 Live interface client
GB0112433.8 2001-05-22
PCT/GB2002/000578 WO2002065286A2 (fr) 2001-02-12 2002-02-12 Logiciel client permettant a un client d'executer une application reseau

Publications (1)

Publication Number Publication Date
US20040117439A1 true US20040117439A1 (en) 2004-06-17

Family

ID=26245705

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/467,883 Active 2024-12-03 US7627658B2 (en) 2001-02-12 2002-02-12 Presentation service which enables client device to run a network based application
US10/467,766 Abandoned US20040117439A1 (en) 2001-02-12 2002-02-12 Client software enabling a client to run a network based application

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/467,883 Active 2024-12-03 US7627658B2 (en) 2001-02-12 2002-02-12 Presentation service which enables client device to run a network based application

Country Status (3)

Country Link
US (2) US7627658B2 (fr)
GB (2) GB2377518B (fr)
WO (2) WO2002065278A2 (fr)

Cited By (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020107580A1 (en) * 2001-01-09 2002-08-08 Hulai Steven J. Software, devices and methods facilitating execution of server-side applications at mobile devices
US20030041147A1 (en) * 2001-08-20 2003-02-27 Van Den Oord Stefan M. System and method for asynchronous client server session communication
US20040109470A1 (en) * 2002-11-18 2004-06-10 Jacob Derechin System and method for reducing bandwidth requirements for remote applications by utilizing client processing power
US20050234918A1 (en) * 2004-04-15 2005-10-20 Lutz Brunnabend Correction server for large database systems
US20060047665A1 (en) * 2001-01-09 2006-03-02 Tim Neil System and method for simulating an application for subsequent deployment to a device in communication with a transaction server
US20060075120A1 (en) * 2001-08-20 2006-04-06 Smit Mark H System and method for utilizing asynchronous client server communication objects
US20060074946A1 (en) * 2004-09-27 2006-04-06 Performance It Point of view distributed agent methodology for network management
US20060074725A1 (en) * 2004-09-30 2006-04-06 International Business Machines Corporation Method and apparatus for simulating implementation models of business solutions
US20060190569A1 (en) * 2005-02-22 2006-08-24 Nextair Corporation Facilitating mobile device awareness of the availability of new or updated server-side applications
US20060190527A1 (en) * 2005-02-22 2006-08-24 Nextail Corporation Determining operational status of a mobile device capable of executing server-side applications
US20060190526A1 (en) * 2005-02-22 2006-08-24 Nextair Corporation Wireless communication device use of application server applications
US20060206567A1 (en) * 2005-03-08 2006-09-14 Microsoft Corporation Dynamic service surrogates
US20060206599A1 (en) * 2005-03-08 2006-09-14 Microsoft Corporation Dynamic service generation for legacy components
US20060206590A1 (en) * 2005-03-10 2006-09-14 Felica Networks, Inc Theme change system, portable communication device, server apparatus, and computer program
US20060265361A1 (en) * 2005-05-23 2006-11-23 Chu William W Intelligent search agent
US20060288329A1 (en) * 2005-06-21 2006-12-21 Microsoft Corporation Content syndication platform
US20060288011A1 (en) * 2005-06-21 2006-12-21 Microsoft Corporation Finding and consuming web subscriptions in a web browser
US20070016696A1 (en) * 2005-06-29 2007-01-18 International Business Machines Corporation Method, System, and Software Tool for Emulating a Portal Application
US20070083510A1 (en) * 2005-10-07 2007-04-12 Mcardle James M Capturing bibliographic attribution information during cut/copy/paste operations
US20070112803A1 (en) * 2005-11-14 2007-05-17 Pettovello Primo M Peer-to-peer semantic indexing
US20070136810A1 (en) * 2005-12-07 2007-06-14 Lenovo (Singapore) Pte. Ltd. Virus scanner for journaling file system
US7246324B2 (en) * 2002-05-23 2007-07-17 Jpmorgan Chase Bank Method and system for data capture with hidden applets
US20070174309A1 (en) * 2006-01-18 2007-07-26 Pettovello Primo M Mtreeini: intermediate nodes and indexes
US20070208759A1 (en) * 2006-03-03 2007-09-06 Microsoft Corporation RSS Data-Processing Object
US20070214233A1 (en) * 2006-03-07 2007-09-13 Daryl Cromer System and method for implementing a hypervisor for server emulation
US20070240100A1 (en) * 2006-01-27 2007-10-11 Sap Ag Computer software adaptation method and system
US20070245251A1 (en) * 2006-03-06 2007-10-18 Microsoft Corporation RSS Hostable Control
US20070266316A1 (en) * 2004-02-19 2007-11-15 Butlin Stefan G Display of Menu Items In a User Interface
US20070298719A1 (en) * 2006-06-23 2007-12-27 Microsoft Corporation Virtualization of mobile device user experience
US20080016186A1 (en) * 2006-07-12 2008-01-17 Ball Jonathan H Automated Deployment of Change and Configuration Management Software Tools
US20080052357A1 (en) * 2006-08-24 2008-02-28 Michael John Branson Method, apparatus and computer program product for implementing dynamic customization of environment for enhanced network meeting experience
US20080108344A1 (en) * 2005-05-31 2008-05-08 Vodafone K.K. Coordination operation method and communication terminal
US20080147787A1 (en) * 2005-12-19 2008-06-19 Wilkinson Anthony J Method and system for providing load balancing for virtualized application workspaces
US20080307299A1 (en) * 2007-06-08 2008-12-11 Apple Inc. Client-side components
US20080313500A1 (en) * 2007-06-15 2008-12-18 Alcatel Lucent Proctor peer for malicious peer detection in structured peer-to-peer networks
US20090006646A1 (en) * 2007-06-26 2009-01-01 Data Frenzy, Llc System and Method of Auto Populating Forms on Websites With Data From Central Database
US7533114B2 (en) 2005-02-22 2009-05-12 Nextair Corporation Mobile device having extensible software for presenting server-side applications, software and methods
US20090210459A1 (en) * 2008-02-19 2009-08-20 International Business Machines Corporation Document synchronization solution
US20090241180A1 (en) * 2008-01-28 2009-09-24 Trevor Fiatal System and Method for Data Transport
US20090254589A1 (en) * 2008-04-07 2009-10-08 International Business Machines Corporation Client side caching of synchronized data
US20090300063A1 (en) * 2001-01-09 2009-12-03 Tim Neil Software, devices and methods facilitating execution of server-side applications at mobile devices
US20090299791A1 (en) * 2003-06-25 2009-12-03 Foundry Networks, Inc. Method and system for management of licenses
US7836084B1 (en) * 2006-02-09 2010-11-16 Verizon Services Corp. Central database routing for distributed applications
US7925621B2 (en) 2003-03-24 2011-04-12 Microsoft Corporation Installing a solution
US20110090236A1 (en) * 2009-10-15 2011-04-21 Microsoft Corporation Graphic Object Data Binding
US7979856B2 (en) 2000-06-21 2011-07-12 Microsoft Corporation Network-based software extensions
US20110289419A1 (en) * 2010-05-18 2011-11-24 Yu Chi Sum Sam Browser integration for a content system
US8429522B2 (en) 2003-08-06 2013-04-23 Microsoft Corporation Correlation, association, or correspondence of electronic forms
US20130138717A1 (en) * 2011-11-28 2013-05-30 William A. N. Lingley Remote cine viewing of medical images on a zero-client application
US20130185349A1 (en) * 2002-09-06 2013-07-18 Oracle International Corporation Method and apparatus for a multiplexed active data window in a near real-time business intelligence system
US8631028B1 (en) 2009-10-29 2014-01-14 Primo M. Pettovello XPath query processing improvements
US20140096024A1 (en) * 2012-09-29 2014-04-03 Oracle International Corporation Dynamic configurable menu using self-describing applications
US8892993B2 (en) 2003-08-01 2014-11-18 Microsoft Corporation Translation file
US8918729B2 (en) 2003-03-24 2014-12-23 Microsoft Corporation Designing electronic forms
US20150149994A1 (en) * 2012-05-31 2015-05-28 Sony Computer Entertainment Inc, Information processing device and information processing system
US9171100B2 (en) 2004-09-22 2015-10-27 Primo M. Pettovello MTree an XPath multi-axis structure threaded index
US20150350289A1 (en) * 2014-05-30 2015-12-03 Paladin Innovators Methods & Systems for Transmission of High Resolution & Low Latency Data
US9210234B2 (en) 2005-12-05 2015-12-08 Microsoft Technology Licensing, Llc Enabling electronic documents for limited-capability computing devices
US9229917B2 (en) 2003-03-28 2016-01-05 Microsoft Technology Licensing, Llc Electronic form user interfaces
US9256353B2 (en) 2006-12-19 2016-02-09 Vmware, Inc. Providing application and device management using entitlements
US20170185244A1 (en) * 2015-12-29 2017-06-29 Sap Se User engagement application across user interface applications
US20180196644A1 (en) * 2017-01-11 2018-07-12 Microsoft Technology Licensing, Llc Methods and systems for application rendering
US10466989B2 (en) 2011-09-02 2019-11-05 Microsoft Technology Licensing, Llc. Fast presentation of markup content having script code
CN113796049A (zh) * 2019-11-29 2021-12-14 京东方艺云科技有限公司 一种显示设备之间的交互方法及显示设备
US11822870B2 (en) * 2018-10-04 2023-11-21 Oracle International Corporation Customizable user interface layouts

Families Citing this family (254)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090077020A9 (en) * 1998-12-04 2009-03-19 Toong Hoo-Min Systems and methods of searching databases
AU3109200A (en) * 1998-12-04 2000-06-26 Technology Enabling Company, Llc Systems and methods for organizing data
US7305700B2 (en) 2002-01-08 2007-12-04 Seven Networks, Inc. Secure transport for mobile communication network
US20030216954A1 (en) * 2002-02-27 2003-11-20 David Buzzelli Apparatus and method for exchanging and storing personal information
US20060224983A1 (en) * 2005-04-01 2006-10-05 Paul Albrecht Graphical visualization of data using browser
US20060225000A1 (en) * 2005-04-01 2006-10-05 Paul Albrecht Graphical application interface using browser
US20060224979A1 (en) * 2005-04-01 2006-10-05 Paul Albrecht Apparatus for creating graphical application interface
US20060224977A1 (en) * 2005-04-01 2006-10-05 Paul Albrecht Graphical application interface
US20060224978A1 (en) * 2005-04-01 2006-10-05 Paul Albrecht System for creating a graphical application interface
US20060224975A1 (en) * 2005-04-01 2006-10-05 Paul Albrecht System for creating a graphical application interface with a browser
US8316001B1 (en) 2002-07-22 2012-11-20 Ipvision, Inc. Apparatus and method for performing analyses on data derived from a web-based search engine
US20060224980A1 (en) * 2005-04-01 2006-10-05 Paul Albrecht Method of creating graphical visualizations of data with a browser
US20060224973A1 (en) * 2005-04-01 2006-10-05 Paul Albrecht Method of using a browser
US20080313282A1 (en) 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
US7461382B2 (en) * 2002-09-30 2008-12-02 Sap Ag Event handling with action instances for event-driven software application
US7139980B1 (en) * 2002-10-09 2006-11-21 Sprint Spectrum L.P. Method and system for selecting and saving objects in web content
US20040100490A1 (en) * 2002-11-21 2004-05-27 International Business Machines Corporation Skin button enhancements for remote control
US7917468B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US8468126B2 (en) 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US7853563B2 (en) 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
US7467183B2 (en) * 2003-02-14 2008-12-16 Microsoft Corporation Method, apparatus, and user interface for managing electronic mail and alert messages
US20050038777A1 (en) * 2003-04-11 2005-02-17 Eric Anderson Querying data in a highly distributed management framework
US7184942B2 (en) * 2003-05-22 2007-02-27 Hewlett-Packard Development Company, L.P. Verifying the configuration of a virtual network
WO2004114581A2 (fr) * 2003-06-17 2004-12-29 Bytemobile, Inc. Procede et systeme d'entrelacement dynamique
CA2438362C (fr) * 2003-08-26 2011-05-31 John William Comeau Methode et systeme permettant de synchroniser une interface utilisateur de client avec un serveur principal
US7363313B2 (en) 2003-08-07 2008-04-22 International Business Machines Corporation Method, system, and program product for rebasing an application
US8156248B2 (en) * 2003-10-09 2012-04-10 International Business Machines Corporation Image distribution for dynamic server pages
JP4088237B2 (ja) * 2003-10-23 2008-05-21 株式会社ナビタイムジャパン ナビゲーション装置、ナビゲーション方法、ナビゲーションプログラム
US20050091186A1 (en) * 2003-10-24 2005-04-28 Alon Elish Integrated method and apparatus for capture, storage, and retrieval of information
EP1680748A4 (fr) * 2003-11-07 2006-10-25 Sony Electronics Inc Systeme de messagerie et de service pour ordinateur portable
US7673066B2 (en) * 2003-11-07 2010-03-02 Sony Corporation File transfer protocol for mobile computer
JP4437396B2 (ja) 2003-11-20 2010-03-24 富士通株式会社 自動取引装置及び自動取引システム
JP4424974B2 (ja) * 2003-11-20 2010-03-03 富士通株式会社 自動取引装置、自動取引装置の制御方法及び自動取引システム
EP1560137A1 (fr) * 2004-01-30 2005-08-03 Sap Ag Technique de confirmation de messages fiable
US20050188299A1 (en) * 2004-02-20 2005-08-25 George Furman System and method for generating construction document submittal packages
US8650500B2 (en) * 2004-03-05 2014-02-11 Hewlett-Packard Development Company, L.P. Copy-and-paste functionality for network reconfiguration
US20050246634A1 (en) * 2004-05-03 2005-11-03 Andrew Ortwein Synchronized sharing of a dynamically updated image
WO2005121959A2 (fr) 2004-06-08 2005-12-22 Dartdevices Corporation Appareil d'architecture et dispositif destine au recrutement d'equipe de dispositifs et de mise en valeur du contenu pour une plate-forme d'interfonctionnement d'un dispositif universel
US20060069745A1 (en) * 2004-09-08 2006-03-30 International Business Machines Corporation Method, system and program product for identifying web page dependencies
US7984113B2 (en) * 2004-09-08 2011-07-19 Sap Ag System and method for passing messages to a web browser
US8694532B2 (en) * 2004-09-17 2014-04-08 First American Data Co., Llc Method and system for query transformation for managing information from multiple datasets
US7441271B2 (en) 2004-10-20 2008-10-21 Seven Networks Method and apparatus for intercepting events in a communication system
WO2006053019A2 (fr) 2004-11-08 2006-05-18 Sharpcast, Inc. Procede et appareil de partage de fichiers et systeme de synchronisation
US7706781B2 (en) 2004-11-22 2010-04-27 Seven Networks International Oy Data security in a mobile e-mail service
FI117152B (fi) 2004-12-03 2006-06-30 Seven Networks Internat Oy Sähköpostiasetusten käyttöönotto matkaviestimelle
US8271574B1 (en) * 2004-12-22 2012-09-18 Hewlett-Packard Development Company, L.P. Content sharing and collaboration
US20060168229A1 (en) * 2004-12-29 2006-07-27 Shim Choon B System and method for network management using extensible markup language
US8230096B2 (en) * 2005-01-14 2012-07-24 Citrix Systems, Inc. Methods and systems for generating playback instructions for playback of a recorded computer session
US7752633B1 (en) 2005-03-14 2010-07-06 Seven Networks, Inc. Cross-platform event engine
US20060212842A1 (en) * 2005-03-15 2006-09-21 Microsoft Corporation Rich data-bound application
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
WO2006136660A1 (fr) 2005-06-21 2006-12-28 Seven Networks International Oy Maintien d'une connexion ip dans un reseau mobile
GB0513375D0 (en) * 2005-06-30 2005-08-03 Retento Ltd Computer security
CA2928051C (fr) 2005-07-15 2018-07-24 Indxit Systems, Inc. Systemes et procedes d'indexation et de traitement de donnees
US8027684B2 (en) * 2005-08-22 2011-09-27 Infosys Technologies, Ltd. System for performing a task in a communication network and methods thereof
US7567928B1 (en) 2005-09-12 2009-07-28 Jpmorgan Chase Bank, N.A. Total fair value swap
US7769395B2 (en) 2006-06-20 2010-08-03 Seven Networks, Inc. Location-based operations and messaging
US8863221B2 (en) * 2006-03-07 2014-10-14 Samsung Electronics Co., Ltd. Method and system for integrating content and services among multiple networks
US7620578B1 (en) 2006-05-01 2009-11-17 Jpmorgan Chase Bank, N.A. Volatility derivative financial product
US7631252B2 (en) * 2006-05-05 2009-12-08 Google Inc. Distributed processing when editing an image in a browser
US7634715B2 (en) * 2006-05-05 2009-12-15 Google Inc. Effects applied to images in a browser
US8073941B2 (en) 2006-05-25 2011-12-06 AppToU Technologies Ltd. Method and system for providing remote access to applications
US8370423B2 (en) * 2006-06-16 2013-02-05 Microsoft Corporation Data synchronization and sharing relationships
US9811868B1 (en) 2006-08-29 2017-11-07 Jpmorgan Chase Bank, N.A. Systems and methods for integrating a deal process
CN101512969B (zh) * 2006-09-06 2011-10-05 网络通保安有限公司 推式更新系统
US20080228459A1 (en) * 2006-10-12 2008-09-18 Nec Laboratories America, Inc. Method and Apparatus for Performing Capacity Planning and Resource Optimization in a Distributed System
CA2667172C (fr) * 2006-10-20 2013-01-08 Her Majesty The Queen, In Right Of Canada As Represented By The Minister Of Health Through The Public Health Agency Of Canada Procede et appareil pour la gestion de regles logicielles
US8336022B2 (en) * 2006-10-20 2012-12-18 Her Majesty the Queen in Right of Canada as Represented by the Minister of Health Through the Public Health Agency of Canada Method and apparatus for creating a configurable browser-based forms application
US8453066B2 (en) 2006-11-06 2013-05-28 Microsoft Corporation Clipboard augmentation with references
US20080140670A1 (en) * 2006-12-08 2008-06-12 Joseph Pally Netvariables in a recursive browser system
JP4226033B2 (ja) * 2006-12-28 2009-02-18 メディアインデックス株式会社 足跡提供装置、足跡提供システム
US8335817B1 (en) * 2006-12-29 2012-12-18 Google Inc. Message passing within a web based application framework
US9384346B1 (en) 2006-12-29 2016-07-05 Google Inc. Local service access within a web based application framework
US8539073B1 (en) 2006-12-29 2013-09-17 Google Inc. Startup of container applications
US8612547B1 (en) 2006-12-29 2013-12-17 Google Inc. Container interrupt services
US8212805B1 (en) 2007-01-05 2012-07-03 Kenneth Banschick System and method for parametric display of modular aesthetic designs
KR101190426B1 (ko) 2007-01-07 2012-10-12 애플 인크. 동기화 방법 및 시스템
US8239504B2 (en) * 2007-01-07 2012-08-07 Apple Inc. Synchronization methods and systems
US20080163743A1 (en) * 2007-01-07 2008-07-10 Freedman Gordon J Synchronization methods and systems
US7739410B2 (en) 2007-01-07 2010-06-15 Apple Inc. Synchronization methods and systems
US7761414B2 (en) * 2007-01-07 2010-07-20 Apple Inc. Asynchronous data synchronization amongst devices
US7778971B2 (en) * 2007-01-07 2010-08-17 Apple Inc. Synchronization methods and systems
US7805403B2 (en) * 2007-01-07 2010-09-28 Apple Inc. Synchronization methods and systems
US7660831B2 (en) * 2007-01-07 2010-02-09 Apple Inc. Synchronization methods and systems
US8745486B2 (en) * 2007-01-25 2014-06-03 Microsoft Corporation Streamable interactive rendering-independent page layout
US8751442B2 (en) * 2007-02-12 2014-06-10 Microsoft Corporation Synchronization associated duplicate data resolution
US20080199834A1 (en) * 2007-02-15 2008-08-21 Microsoft Corporation Rich and concurrent pc experiences on computing devices
US8693494B2 (en) 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8209540B2 (en) 2007-06-28 2012-06-26 Apple Inc. Incremental secure backup and restore of user settings and data
JP5088611B2 (ja) * 2007-07-09 2012-12-05 コニカミノルタビジネステクノロジーズ株式会社 管理システム及び管理方法並びに制御プログラム
US9264483B2 (en) 2007-07-18 2016-02-16 Hammond Development International, Inc. Method and system for enabling a communication device to remotely execute an application
US8266312B2 (en) * 2007-07-20 2012-09-11 International Business Machines Corporation Method of streaming size-constrained valid XML
CA2594639C (fr) * 2007-07-24 2018-12-11 Constellation Homebuilder Systems Inc. Systeme et methode de calendrier en temps reel pour construction individuelle
US20090037829A1 (en) * 2007-08-01 2009-02-05 Microsoft Corporation Framework to integrate web services with on-premise software
KR20100080822A (ko) 2007-09-28 2010-07-12 엑세리온 악티에볼라그 네트워크 오퍼레이팅 시스템
US8676901B1 (en) 2007-11-01 2014-03-18 Google Inc. Methods for transcoding attachments for mobile devices
US8726165B1 (en) 2007-11-01 2014-05-13 Google Inc. Methods for auto-completing contact entry on mobile devices
US9241063B2 (en) 2007-11-01 2016-01-19 Google Inc. Methods for responding to an email message by call from a mobile device
US9319360B2 (en) 2007-11-01 2016-04-19 Google Inc. Systems and methods for prefetching relevant information for responsive mobile email applications
US8543927B1 (en) 2007-11-01 2013-09-24 Google Inc. Methods for simulating icon popout on memory constrained devices
US20090119678A1 (en) * 2007-11-02 2009-05-07 Jimmy Shih Systems and methods for supporting downloadable applications on a portable client device
US20090125611A1 (en) * 2007-11-08 2009-05-14 Barsness Eric L Sharing loaded java classes among a plurality of nodes
US8364181B2 (en) 2007-12-10 2013-01-29 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8107921B2 (en) 2008-01-11 2012-01-31 Seven Networks, Inc. Mobile virtual network operator
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US9026623B2 (en) * 2008-01-31 2015-05-05 Microsoft Technology Licensing, Llc Layered architectures for remote dynamic administration of distributed client configurations
US9032295B1 (en) 2008-03-19 2015-05-12 Dropbox, Inc. Method for displaying files from a plurality of devices in a multi-view interface and for enabling operations to be performed on such files through such interface
US8019900B1 (en) 2008-03-25 2011-09-13 SugarSync, Inc. Opportunistic peer-to-peer synchronization in a synchronization system
US9141483B1 (en) 2008-03-27 2015-09-22 Dropbox, Inc. System and method for multi-tier synchronization
US8397225B2 (en) 2008-04-24 2013-03-12 International Business Machines Corporation Optimizing just-in-time compiling for a java application executing on a compute node
US8296671B2 (en) 2008-05-01 2012-10-23 Microsoft Corporation Enabling access to rich data by intercepting paste operations
US9892028B1 (en) 2008-05-16 2018-02-13 On24, Inc. System and method for debugging of webcasting applications during live events
US10430491B1 (en) 2008-05-30 2019-10-01 On24, Inc. System and method for communication between rich internet applications
US8787947B2 (en) 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US20090319909A1 (en) * 2008-06-19 2009-12-24 Aten International Co., Ltd. Data Transfer Systems, Switches, and Method of Providing the Same
US8078158B2 (en) 2008-06-26 2011-12-13 Seven Networks, Inc. Provisioning applications for a mobile device
US7860973B2 (en) * 2008-06-27 2010-12-28 Microsoft Corporation Data center scheduler
TW201009698A (en) * 2008-08-19 2010-03-01 Arcadyan Technology Corp Method for improving the accessing efficiency of embedded web page
US8515833B2 (en) * 2008-08-29 2013-08-20 8X8, Inc. Methods and systems for multilayer provisioning of networked contact centers
US8275116B2 (en) 2008-08-29 2012-09-25 8X8, Inc. Networked contact center
US8243913B2 (en) * 2008-08-29 2012-08-14 8×8, Inc. Limiting contact in a networked contact center environment
US8972885B2 (en) 2008-08-29 2015-03-03 8X8, Inc. Networked contact center user interface
US8204206B2 (en) * 2008-08-29 2012-06-19 8X8, Inc. Systems and methods for selection of a communication path
US10033869B2 (en) 2008-08-29 2018-07-24 8X8, Inc. Methods and systems for information streaming to user interface
US9223548B2 (en) * 2008-09-15 2015-12-29 Apple Inc. Method and apparatus for providing an application canvas framework
WO2010034329A1 (fr) 2008-09-25 2010-04-01 Siemens Enterprise Communications Gmbh & Co. Kg Procédé de configuration d'une application
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
WO2010043024A1 (fr) * 2008-10-19 2010-04-22 Research In Motion Limited Cadriciel d’application web permettant une performance de rendu optimum sur un client en fonction de paramètres détectés du client
US8458246B2 (en) * 2008-10-19 2013-06-04 Research In Motion Limited Web application framework method enabling the creation of applications that provide an interface with clients that is independent of scripting capability
US8204998B1 (en) * 2008-12-16 2012-06-19 Sprint Communications Company L.P. Allocation of connection persistence to mobile browsers
US7933272B2 (en) * 2009-03-11 2011-04-26 Deep River Systems, Llc Methods and systems for resolving a first node identifier in a first identifier domain space to a second node identifier in a second identifier domain space
US8291036B2 (en) * 2009-03-16 2012-10-16 Microsoft Corporation Datacenter synchronization
US9185174B2 (en) * 2009-04-29 2015-11-10 Ianywhere Solutions, Inc. Maintaining mobile device operations
US8650498B1 (en) 2009-05-04 2014-02-11 SugarSync, Inc. User interface for managing and viewing synchronization settings in a synchronization system
US9372711B2 (en) 2009-07-20 2016-06-21 Google Technology Holdings LLC System and method for initiating a multi-environment operating system
US9389877B2 (en) 2009-07-20 2016-07-12 Google Technology Holdings LLC Multi-environment operating system
US9348633B2 (en) 2009-07-20 2016-05-24 Google Technology Holdings LLC Multi-environment operating system
US9367331B2 (en) 2009-07-20 2016-06-14 Google Technology Holdings LLC Multi-environment operating system
KR101612845B1 (ko) * 2009-11-12 2016-04-15 삼성전자주식회사 리모트 ui 서비스 제공 방법 및 장치
US9015225B2 (en) * 2009-11-16 2015-04-21 Echostar Technologies L.L.C. Systems and methods for delivering messages over a network
US9979589B2 (en) * 2009-12-10 2018-05-22 Royal Bank Of Canada Coordinated processing of data by networked computing resources
US9959572B2 (en) * 2009-12-10 2018-05-01 Royal Bank Of Canada Coordinated processing of data by networked computing resources
US10057333B2 (en) 2009-12-10 2018-08-21 Royal Bank Of Canada Coordinated processing of data by networked computing resources
US9940670B2 (en) 2009-12-10 2018-04-10 Royal Bank Of Canada Synchronized processing of data by networked computing resources
US10771536B2 (en) * 2009-12-10 2020-09-08 Royal Bank Of Canada Coordinated processing of data by networked computing resources
SG181616A1 (en) * 2009-12-10 2012-07-30 Royal Bank Of Canada Synchronized processing of data by networked computing resources
US9104252B2 (en) * 2010-02-12 2015-08-11 Microsoft Technology Licensing, Llc Assignment of control of peripherals of a computing device
US11438410B2 (en) 2010-04-07 2022-09-06 On24, Inc. Communication console with component aggregation
US8706812B2 (en) 2010-04-07 2014-04-22 On24, Inc. Communication console with component aggregation
US9262138B2 (en) * 2010-05-27 2016-02-16 Salesforce.Com, Inc. Adding directives for JavaScript files directly into source code in a multi-tenant database environment
CN102939598B (zh) * 2010-06-11 2015-04-22 惠普发展公司,有限责任合伙企业 基于http的客户机-服务器通信系统和方法
US8539020B2 (en) * 2010-06-14 2013-09-17 Microsoft Corporation Sessions to host processes with special requirements
US20110313805A1 (en) * 2010-06-18 2011-12-22 Microsoft Corporation Customizable user interface including contact and business management features
WO2012018556A2 (fr) 2010-07-26 2012-02-09 Ari Backholm Optimisation du trafic d'applications mobiles
US9077630B2 (en) 2010-07-26 2015-07-07 Seven Networks, Inc. Distributed implementation of dynamic wireless traffic policy
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
JP5620578B2 (ja) 2010-07-26 2014-11-05 セブン ネットワークス インコーポレイテッド 複数のアプリケーションにわたるモバイルネットワークトラフィック調整
US8468545B2 (en) 2010-08-18 2013-06-18 8X8, Inc. Interaction management
CN102375865B (zh) * 2010-08-24 2016-08-03 腾讯科技(深圳)有限公司 一种消息客户端的消息更新方法及消息客户端
US9621596B2 (en) * 2010-09-11 2017-04-11 Steelcloud, Llc Mobile application deployment for distributed computing environments
US9298473B2 (en) * 2010-10-29 2016-03-29 Sap Se System and method for a generic object access layer
US9330196B2 (en) 2010-11-01 2016-05-03 Seven Networks, Llc Wireless traffic management system cache optimization using http headers
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US9060032B2 (en) 2010-11-01 2015-06-16 Seven Networks, Inc. Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
US8484314B2 (en) 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8326985B2 (en) 2010-11-01 2012-12-04 Seven Networks, Inc. Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
US8417823B2 (en) 2010-11-22 2013-04-09 Seven Network, Inc. Aligning data transfer to optimize connections established for transmission over a wireless network
WO2012060996A2 (fr) 2010-11-01 2012-05-10 Michael Luna Mise en cache adaptée à un comportement d'application mobile et à des conditions de réseau
WO2012060995A2 (fr) 2010-11-01 2012-05-10 Michael Luna Mise en cache distribuée dans un réseau sans fil d'un contenu fourni par une application mobile sur une requête de longue durée
US8166164B1 (en) 2010-11-01 2012-04-24 Seven Networks, Inc. Application and network-based long poll request detection and cacheability assessment therefor
GB2500327B (en) 2010-11-22 2019-11-06 Seven Networks Llc Optimization of resource polling intervals to satisfy mobile device requests
US8826436B2 (en) 2010-12-08 2014-09-02 At&T Intellectual Property I, L.P. Systems, methods and apparatus to apply permissions to applications
GB2501416B (en) 2011-01-07 2018-03-21 Seven Networks Llc System and method for reduction of mobile network traffic used for domain name system (DNS) queries
US9396242B2 (en) * 2011-04-11 2016-07-19 Salesforce.Com, Inc. Multi-master data replication in a distributed multi-tenant system
US8316098B2 (en) 2011-04-19 2012-11-20 Seven Networks Inc. Social caching for device resource sharing and management
GB2493473B (en) 2011-04-27 2013-06-19 Seven Networks Inc System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief
GB2505585B (en) 2011-04-27 2015-08-12 Seven Networks Inc Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
US9354900B2 (en) 2011-04-28 2016-05-31 Google Technology Holdings LLC Method and apparatus for presenting a window in a system having two operating system environments
US20120278747A1 (en) * 2011-04-28 2012-11-01 Motorola Mobility, Inc. Method and apparatus for user interface in a system having two operating system environments
US20120291006A1 (en) * 2011-05-12 2012-11-15 Google Inc. Development Architecture for Cloud-Based Applications
US20120304051A1 (en) * 2011-05-27 2012-11-29 Diacritech Technologies Pvt Ltd Automation Tool for XML Based Pagination Process
US20120317234A1 (en) * 2011-06-09 2012-12-13 International Business Machines Corporation Managing data access in mobile devices
US20120331145A1 (en) * 2011-06-22 2012-12-27 Gil-Hoon Chang Method for providing and accessing resource remotely
US8756665B2 (en) * 2011-07-08 2014-06-17 International Business Machines Corporation Authenticating a rich client from within an existing browser session
US9197710B1 (en) 2011-07-20 2015-11-24 Google Inc. Temporal based data string intern pools
US8606907B1 (en) * 2011-07-20 2013-12-10 Google Inc. Multi-tiered system for receiving and reporting web site traffic data
US8560685B1 (en) 2011-07-20 2013-10-15 Google Inc. Probabilistic data storage owner election and replication protocol
WO2013015994A1 (fr) 2011-07-27 2013-01-31 Seven Networks, Inc. Surveillance des activités des applications mobiles à la recherche d'un trafic malveillant sur un dispositif mobile
US9047476B2 (en) * 2011-11-07 2015-06-02 At&T Intellectual Property I, L.P. Browser-based secure desktop applications for open computing platforms
US9100235B2 (en) 2011-11-07 2015-08-04 At&T Intellectual Property I, L.P. Secure desktop applications for an open computing platform
EP2789138B1 (fr) 2011-12-06 2016-09-14 Seven Networks, LLC Dispositif mobile et procédé pour utiliser les mécanismes de basculement pour une tolérance aux anomalies fournie pour une gestion de trafic mobile et une conservation de ressource de réseau/dispositif
US8934414B2 (en) 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
US9208123B2 (en) 2011-12-07 2015-12-08 Seven Networks, Llc Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor
WO2013086447A1 (fr) 2011-12-07 2013-06-13 Seven Networks, Inc. Sensibilité radio d'un dispositif mobile pour envoyer des signaux de commande côté serveur au moyen d'un protocole de transport optimisé de réseau sans fil
WO2013090834A1 (fr) 2011-12-14 2013-06-20 Seven Networks, Inc. Modes de fonctionnement pour une optimisation de trafic mobile et une gestion simultanée d'un trafic optimisé et non optimisé
US20130159511A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. System and method for generating a report to a network operator by distributing aggregation of data
US9367560B1 (en) * 2011-12-14 2016-06-14 Unboundid, Corp. Method, system and apparatus for synchronizing changes in a directory service
US8861354B2 (en) 2011-12-14 2014-10-14 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
KR20130070308A (ko) * 2011-12-19 2013-06-27 삼성전자주식회사 동적 정책 제공을 위한 정책 결정 장치와 주소 변환 장치 사이의 연동을 위한 방법 및 장치
US8909202B2 (en) 2012-01-05 2014-12-09 Seven Networks, Inc. Detection and management of user interactions with foreground applications on a mobile device in distributed caching
US9203864B2 (en) 2012-02-02 2015-12-01 Seven Networks, Llc Dynamic categorization of applications for network access in a mobile network
WO2013116852A1 (fr) 2012-02-03 2013-08-08 Seven Networks, Inc. Utilisateur en tant que point final pour le profilage et l'optimisation de la distribution de contenu et de données dans un réseau sans fil
US20130218685A1 (en) * 2012-02-16 2013-08-22 Telefonaktiebolaget L M Ericsson (Publ) Offering an Object For Sale
US8335851B1 (en) 2012-03-12 2012-12-18 Ringcentral, Inc. Network resource deployment for cloud-based services
US20150051930A1 (en) * 2012-03-28 2015-02-19 Hitachi Systems, Ltd. Application development sales support system
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
US20130268656A1 (en) 2012-04-10 2013-10-10 Seven Networks, Inc. Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network
US20130293573A1 (en) 2012-05-02 2013-11-07 Motorola Mobility, Inc. Method and Apparatus for Displaying Active Operating System Environment Data with a Plurality of Concurrent Operating System Environments
US9342325B2 (en) 2012-05-17 2016-05-17 Google Technology Holdings LLC Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device
US8775631B2 (en) 2012-07-13 2014-07-08 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9715591B2 (en) * 2012-07-30 2017-07-25 Hewlett-Packard Development Company, L.P. Code validation
US9633125B1 (en) 2012-08-10 2017-04-25 Dropbox, Inc. System, method, and computer program for enabling a user to synchronize, manage, and share folders across a plurality of client devices and a synchronization server
US10057318B1 (en) 2012-08-10 2018-08-21 Dropbox, Inc. System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
JP6060572B2 (ja) * 2012-09-10 2017-01-18 株式会社リコー サーバ装置、情報処理方法、及び情報処理プログラム
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US9558286B2 (en) 2012-12-06 2017-01-31 At&T Intellectual Property I, L.P. Methods, systems, and products for generating mashups
US20140177497A1 (en) 2012-12-20 2014-06-26 Seven Networks, Inc. Management of mobile device radio state promotion and demotion
US9241314B2 (en) 2013-01-23 2016-01-19 Seven Networks, Llc Mobile device with application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US9015328B2 (en) 2013-03-07 2015-04-21 Fiserv, Inc. Single sign-on processing for associated mobile applications
US9641498B2 (en) * 2013-03-07 2017-05-02 Fiserv, Inc. Single sign-on processing for associated mobile applications
US9326185B2 (en) 2013-03-11 2016-04-26 Seven Networks, Llc Mobile network congestion recognition for optimization of mobile traffic
US9473417B2 (en) * 2013-03-14 2016-10-18 Airwatch Llc Controlling resources used by computing devices
US8898243B2 (en) * 2013-04-08 2014-11-25 Jani Turkia Device relay control system and method
US10776384B1 (en) 2013-04-30 2020-09-15 Ping Identity Corporation Method, server and system for criteria-based assured replication
US10073858B2 (en) * 2013-05-16 2018-09-11 Oracle International Corporation Systems and methods for tuning a storage system
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US20150113429A1 (en) * 2013-10-21 2015-04-23 NQ Mobile Inc. Real-time dynamic content display layer and system
US11429781B1 (en) 2013-10-22 2022-08-30 On24, Inc. System and method of annotating presentation timeline with questions, comments and notes using simple user inputs in mobile devices
US9460180B2 (en) * 2014-01-31 2016-10-04 Sap Se Data pulls
US9948693B2 (en) * 2014-02-24 2018-04-17 Ca, Inc. Generic cloud service for publishing data to be consumed by RSS readers
US9426034B2 (en) 2014-06-16 2016-08-23 International Business Machines Corporation Usage policy for resource management
US10243891B2 (en) * 2014-08-14 2019-03-26 Oath Inc. Cross-device integration system and method
US10785325B1 (en) 2014-09-03 2020-09-22 On24, Inc. Audience binning system and method for webcasting and on-line presentations
US10735426B2 (en) * 2017-02-09 2020-08-04 Salesforce.Com, Inc. Secure asynchronous retrieval of data behind a firewall
US10735514B2 (en) 2017-08-29 2020-08-04 Western Digital Technologies, Inc. Remote application configuration on network-attached storage
US11188822B2 (en) 2017-10-05 2021-11-30 On24, Inc. Attendee engagement determining system and method
US11281723B2 (en) 2017-10-05 2022-03-22 On24, Inc. Widget recommendation for an online event using co-occurrence matrix
JP2019117571A (ja) * 2017-12-27 2019-07-18 シャープ株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
EP3732676A4 (fr) 2017-12-29 2021-09-22 DMAI, Inc. Système et procédé d'initiation intelligente d'un dialogue homme-machine basé sur des entrées sensorielles multimodales
CN112055955A (zh) * 2017-12-29 2020-12-08 得麦股份有限公司 用于个性化和自适应应用管理的系统和方法
WO2019133710A1 (fr) 2017-12-29 2019-07-04 DMAI, Inc. Système et procédé de gestion de dialogue
WO2019133689A1 (fr) 2017-12-29 2019-07-04 DMAI, Inc. Système et procédé de réponse sélective de périphérique d'animatronique pour le dialogue homme-machine
WO2019160613A1 (fr) 2018-02-15 2019-08-22 DMAI, Inc. Système et procédé de configuration de programme dynamique
US10994421B2 (en) 2018-02-15 2021-05-04 DMAI, Inc. System and method for dynamic robot profile configurations based on user interactions
US11334596B2 (en) 2018-04-27 2022-05-17 Dropbox, Inc. Selectively identifying and recommending digital content items for synchronization
US20200160273A1 (en) * 2018-11-16 2020-05-21 Adp, Llc Geolocation web page generation system
US10884606B1 (en) 2019-06-20 2021-01-05 Wells Fargo Bank, N.A. Data transfer via tile overlay
KR102197329B1 (ko) * 2020-01-09 2020-12-31 주식회사 카카오뱅크 스크래핑 기반 서비스 제공 방법 및 이를 수행하는 어플리케이션
US11609932B2 (en) * 2020-03-27 2023-03-21 Adp, Inc. Web services having live data updates
US10963272B1 (en) * 2020-07-09 2021-03-30 Coupang Corp. Systems and methods for deploying low-application-impact user interfaces
US11550604B2 (en) * 2021-01-05 2023-01-10 Servicenow, Inc. Dynamic client-side update of a view of an application

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5915240A (en) * 1997-06-12 1999-06-22 Karpf; Ronald S. Computer system and method for accessing medical information over a network
US20020078094A1 (en) * 2000-09-07 2002-06-20 Muralidhar Krishnaprasad Method and apparatus for XML visualization of a relational database and universal resource identifiers to database data and metadata
US20020120786A1 (en) * 2000-12-04 2002-08-29 Ilan Sehayek System and method for managing application integration utilizing a network device
US6463468B1 (en) * 1999-06-01 2002-10-08 Netzero, Inc. Targeted network video download interface
US6651084B1 (en) * 1999-11-29 2003-11-18 International Business Machines Corporation System and method for adding plug-ins to a web browser
US6782431B1 (en) * 1998-09-30 2004-08-24 International Business Machines Corporation System and method for dynamic selection of database application code execution on the internet with heterogenous clients
US6804816B1 (en) * 2000-12-21 2004-10-12 Cisco Technology, Inc. Method and template for developing device-centric network management applications
US7209970B1 (en) * 2000-09-19 2007-04-24 Sprint Spectrum L.P. Authentication, application-authorization, and user profiling using dynamic directory services

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220657A (en) * 1987-12-02 1993-06-15 Xerox Corporation Updating local copy of shared data in a collaborative system
US5701451A (en) * 1995-06-07 1997-12-23 International Business Machines Corporation Method for fulfilling requests of a web browser
US6553410B2 (en) * 1996-02-27 2003-04-22 Inpro Licensing Sarl Tailoring data and transmission protocol for efficient interactive data transactions over wide-area networks
US6253228B1 (en) * 1997-03-31 2001-06-26 Apple Computer, Inc. Method and apparatus for updating and synchronizing information between a client and a server
WO1999001802A2 (fr) * 1997-07-01 1999-01-14 Sanga International, Inc. Systeme et procede universels d'acces aux donnees, independants de la plate-forme, dans un environnement client-serveur
US6574661B1 (en) * 1997-09-26 2003-06-03 Mci Communications Corporation Integrated proxy interface for web based telecommunication toll-free network management using a network manager for downloading a call routing tree to client
US6075528A (en) * 1997-10-20 2000-06-13 International Business Machines Corporation Graphical user interface stream processor
US6185600B1 (en) * 1997-12-08 2001-02-06 Hewlett-Packard Company Universal viewer/browser for network and system events using a universal user interface generator, a generic product specification language, and product specific interfaces
US6509913B2 (en) * 1998-04-30 2003-01-21 Openwave Systems Inc. Configurable man-machine interface
US6161110A (en) * 1998-05-07 2000-12-12 Mci Communications Corporation System, method and computer product for interactively presenting event data
US7293099B1 (en) * 1998-09-29 2007-11-06 Sun Microsystems, Inc. Heterogeneous network file access
US7117446B2 (en) * 1999-02-01 2006-10-03 Sonic Solutions, Inc. User interface method and system for application programs implemented with component architectures
US6584466B1 (en) * 1999-04-07 2003-06-24 Critical Path, Inc. Internet document management system and methods
GB2351165B (en) * 1999-06-18 2003-11-05 Univ London Method and apparatus for monitoring and maintaining the consistency of distributed documents
US6446111B1 (en) * 1999-06-18 2002-09-03 Epicrealm Operating Inc. Method and apparatus for client-server communication using a limited capability client over a low-speed communications link
AU5914900A (en) * 1999-07-01 2001-01-22 Netmorf, Inc. Cross-media information server
US6976094B1 (en) * 2000-05-09 2005-12-13 Nortel Networks Limited Automated web browser synchronization by using session initiation protocol during a real-time session
JP3411255B2 (ja) * 2000-05-29 2003-05-26 株式会社ユニレック ゲーム機の景品管理システム
WO2001095124A1 (fr) * 2000-06-05 2001-12-13 Altoweb Systems, Inc. Systeme et procede permettant l'integration d'applications multiples
US20020103881A1 (en) * 2000-09-11 2002-08-01 Francois Granade Method and system for integrating applications and mobile networks
US6914694B1 (en) * 2000-10-12 2005-07-05 Seiko Epson Corporation Web print system with image enhancement
US7398216B2 (en) * 2000-12-12 2008-07-08 Lockheed Martin Corporation Network dynamic service availability
US6965298B2 (en) * 2001-03-09 2005-11-15 Sony Corporation Method and apparatus for facilitating communication between a user and a toy
US6489921B1 (en) * 2001-07-12 2002-12-03 Jeffrey Fergus Wilkinson Vehicle locating apparatus
US7135974B2 (en) * 2002-04-22 2006-11-14 Symbol Technologies, Inc. Power source system for RF location/identification tags
US7009495B2 (en) * 2002-10-02 2006-03-07 Battelle Memorial Institute System and method to identify multiple RFID tags
US6995655B2 (en) * 2002-10-02 2006-02-07 Battelle Memorial Institute Method of simultaneously reading multiple radio frequency tags, RF tags, and RF reader
AU2003296850A1 (en) * 2002-12-03 2004-06-23 3Rd Millenium Solutions, Ltd. Surveillance system with identification correlation

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5915240A (en) * 1997-06-12 1999-06-22 Karpf; Ronald S. Computer system and method for accessing medical information over a network
US6782431B1 (en) * 1998-09-30 2004-08-24 International Business Machines Corporation System and method for dynamic selection of database application code execution on the internet with heterogenous clients
US6463468B1 (en) * 1999-06-01 2002-10-08 Netzero, Inc. Targeted network video download interface
US6651084B1 (en) * 1999-11-29 2003-11-18 International Business Machines Corporation System and method for adding plug-ins to a web browser
US20020078094A1 (en) * 2000-09-07 2002-06-20 Muralidhar Krishnaprasad Method and apparatus for XML visualization of a relational database and universal resource identifiers to database data and metadata
US7209970B1 (en) * 2000-09-19 2007-04-24 Sprint Spectrum L.P. Authentication, application-authorization, and user profiling using dynamic directory services
US20020120786A1 (en) * 2000-12-04 2002-08-29 Ilan Sehayek System and method for managing application integration utilizing a network device
US6804816B1 (en) * 2000-12-21 2004-10-12 Cisco Technology, Inc. Method and template for developing device-centric network management applications

Cited By (135)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979856B2 (en) 2000-06-21 2011-07-12 Microsoft Corporation Network-based software extensions
US20110087710A1 (en) * 2001-01-09 2011-04-14 Tim Neil Software, devices and methods facilitating execution of server-side applications at mobile devices
US7546298B2 (en) 2001-01-09 2009-06-09 Nextair Corporation Software, devices and methods facilitating execution of server-side applications at mobile devices
US8204911B2 (en) 2001-01-09 2012-06-19 Nextair Corporation Software, devices and methods facilitating execution of server-side applications at mobile devices
US20090300063A1 (en) * 2001-01-09 2009-12-03 Tim Neil Software, devices and methods facilitating execution of server-side applications at mobile devices
US20060047665A1 (en) * 2001-01-09 2006-03-02 Tim Neil System and method for simulating an application for subsequent deployment to a device in communication with a transaction server
US20030060896A9 (en) * 2001-01-09 2003-03-27 Hulai Steven J. Software, devices and methods facilitating execution of server-side applications at mobile devices
US20020107580A1 (en) * 2001-01-09 2002-08-08 Hulai Steven J. Software, devices and methods facilitating execution of server-side applications at mobile devices
US7865528B2 (en) 2001-01-09 2011-01-04 Nextair Corporation Software, devices and methods facilitating execution of server-side applications at mobile devices
US20060075120A1 (en) * 2001-08-20 2006-04-06 Smit Mark H System and method for utilizing asynchronous client server communication objects
US8060639B2 (en) 2001-08-20 2011-11-15 Masterobjects, Inc. System and method for utilizing asynchronous client server communication objects
US20030041147A1 (en) * 2001-08-20 2003-02-27 Van Den Oord Stefan M. System and method for asynchronous client server session communication
US20110106966A1 (en) * 2001-08-20 2011-05-05 Masterobjects, Inc. System and method for utilizing asynchronous client server communication objects
US7752326B2 (en) 2001-08-20 2010-07-06 Masterobjects, Inc. System and method for utilizing asynchronous client server communication objects
US8112529B2 (en) 2001-08-20 2012-02-07 Masterobjects, Inc. System and method for asynchronous client server session communication
US7246324B2 (en) * 2002-05-23 2007-07-17 Jpmorgan Chase Bank Method and system for data capture with hidden applets
US20130185349A1 (en) * 2002-09-06 2013-07-18 Oracle International Corporation Method and apparatus for a multiplexed active data window in a near real-time business intelligence system
US9094258B2 (en) * 2002-09-06 2015-07-28 Oracle International Corporation Method and apparatus for a multiplexed active data window in a near real-time business intelligence system
US20040109470A1 (en) * 2002-11-18 2004-06-10 Jacob Derechin System and method for reducing bandwidth requirements for remote applications by utilizing client processing power
US8108488B2 (en) 2002-11-18 2012-01-31 Jackbe Corporation System and method for reducing bandwidth requirements for remote applications by utilizing client processing power
US8918729B2 (en) 2003-03-24 2014-12-23 Microsoft Corporation Designing electronic forms
US7925621B2 (en) 2003-03-24 2011-04-12 Microsoft Corporation Installing a solution
US9229917B2 (en) 2003-03-28 2016-01-05 Microsoft Technology Licensing, Llc Electronic form user interfaces
US20090299791A1 (en) * 2003-06-25 2009-12-03 Foundry Networks, Inc. Method and system for management of licenses
US8892993B2 (en) 2003-08-01 2014-11-18 Microsoft Corporation Translation file
US9239821B2 (en) 2003-08-01 2016-01-19 Microsoft Technology Licensing, Llc Translation file
US8429522B2 (en) 2003-08-06 2013-04-23 Microsoft Corporation Correlation, association, or correspondence of electronic forms
US9268760B2 (en) 2003-08-06 2016-02-23 Microsoft Technology Licensing, Llc Correlation, association, or correspondence of electronic forms
US9454619B2 (en) 2004-02-19 2016-09-27 Qualcomm Incorporated Layered user interface
US20070283280A1 (en) * 2004-02-19 2007-12-06 Butlin Stefan G Virtual File System
US20070288856A1 (en) * 2004-02-19 2007-12-13 Butlin Stefan G Layered User Interface
US20070266316A1 (en) * 2004-02-19 2007-11-15 Butlin Stefan G Display of Menu Items In a User Interface
US8327289B2 (en) 2004-02-19 2012-12-04 Qualcomm Incorporated Layered user interface
US20080282142A1 (en) * 2004-02-19 2008-11-13 Qualcomm Cambridge Limited Rendering a User Interface
US8434016B2 (en) 2004-02-19 2013-04-30 Qualcomm Incorporated Virtual file system
US20050234918A1 (en) * 2004-04-15 2005-10-20 Lutz Brunnabend Correction server for large database systems
US7822721B2 (en) * 2004-04-15 2010-10-26 Sap Ag Correction server for large database systems
US9171100B2 (en) 2004-09-22 2015-10-27 Primo M. Pettovello MTree an XPath multi-axis structure threaded index
US20060074946A1 (en) * 2004-09-27 2006-04-06 Performance It Point of view distributed agent methodology for network management
US20060074725A1 (en) * 2004-09-30 2006-04-06 International Business Machines Corporation Method and apparatus for simulating implementation models of business solutions
US8224951B2 (en) 2005-02-22 2012-07-17 Nextair Corporation Determining operational status of a mobile device capable of executing server-side applications
US20110087725A9 (en) * 2005-02-22 2011-04-14 Tim Neil Wireless communication device use of application server applications
US7533114B2 (en) 2005-02-22 2009-05-12 Nextair Corporation Mobile device having extensible software for presenting server-side applications, software and methods
US20060190526A1 (en) * 2005-02-22 2006-08-24 Nextair Corporation Wireless communication device use of application server applications
US20060190569A1 (en) * 2005-02-22 2006-08-24 Nextair Corporation Facilitating mobile device awareness of the availability of new or updated server-side applications
US8190712B2 (en) 2005-02-22 2012-05-29 Research In Motion Limited Wireless communication device use of application server applications
US20100106775A1 (en) * 2005-02-22 2010-04-29 Tim Neil Wireless communication device use of application server applications
US7668937B2 (en) 2005-02-22 2010-02-23 Research In Motion Limited Wireless communication device use of application server applications
US20060190527A1 (en) * 2005-02-22 2006-08-24 Nextail Corporation Determining operational status of a mobile device capable of executing server-side applications
US7590988B2 (en) * 2005-03-08 2009-09-15 Microsoft Corporation Dynamic service generation for legacy components
US7593994B2 (en) 2005-03-08 2009-09-22 Microsoft Corporation Generating a dynamic web service and dynamic service surrogate for legacy application components
US20060206567A1 (en) * 2005-03-08 2006-09-14 Microsoft Corporation Dynamic service surrogates
US20060206599A1 (en) * 2005-03-08 2006-09-14 Microsoft Corporation Dynamic service generation for legacy components
US20060206590A1 (en) * 2005-03-10 2006-09-14 Felica Networks, Inc Theme change system, portable communication device, server apparatus, and computer program
US10110728B2 (en) * 2005-03-10 2018-10-23 Felica Networks, Inc. Theme change system, portable communication device, server apparatus, and computer program
US20060265361A1 (en) * 2005-05-23 2006-11-23 Chu William W Intelligent search agent
US20080108344A1 (en) * 2005-05-31 2008-05-08 Vodafone K.K. Coordination operation method and communication terminal
US8154551B2 (en) * 2005-05-31 2012-04-10 Vodafone Group Plc Coordination operation method and communication terminal
US20090013266A1 (en) * 2005-06-21 2009-01-08 Microsoft Corporation Finding and Consuming Web Subscriptions in a Web Browser
US20060288329A1 (en) * 2005-06-21 2006-12-21 Microsoft Corporation Content syndication platform
US9894174B2 (en) 2005-06-21 2018-02-13 Microsoft Technology Licensing, Llc Finding and consuming web subscriptions in a web browser
US20060288011A1 (en) * 2005-06-21 2006-12-21 Microsoft Corporation Finding and consuming web subscriptions in a web browser
US9762668B2 (en) 2005-06-21 2017-09-12 Microsoft Technology Licensing, Llc Content syndication platform
US9104773B2 (en) 2005-06-21 2015-08-11 Microsoft Technology Licensing, Llc Finding and consuming web subscriptions in a web browser
US8832571B2 (en) 2005-06-21 2014-09-09 Microsoft Corporation Finding and consuming web subscriptions in a web browser
US20090019063A1 (en) * 2005-06-21 2009-01-15 Microsoft Corporation Finding and Consuming Web Subscriptions in a Web Browser
US8661459B2 (en) * 2005-06-21 2014-02-25 Microsoft Corporation Content syndication platform
US8751936B2 (en) 2005-06-21 2014-06-10 Microsoft Corporation Finding and consuming web subscriptions in a web browser
US20070016696A1 (en) * 2005-06-29 2007-01-18 International Business Machines Corporation Method, System, and Software Tool for Emulating a Portal Application
US8250458B2 (en) * 2005-06-30 2012-08-21 International Business Machines Corporation Method, system, and software tool for emulating a portal application
US20070083510A1 (en) * 2005-10-07 2007-04-12 Mcardle James M Capturing bibliographic attribution information during cut/copy/paste operations
US20100131564A1 (en) * 2005-11-14 2010-05-27 Pettovello Primo M Index data structure for a peer-to-peer network
US20070112803A1 (en) * 2005-11-14 2007-05-17 Pettovello Primo M Peer-to-peer semantic indexing
US7664742B2 (en) 2005-11-14 2010-02-16 Pettovello Primo M Index data structure for a peer-to-peer network
US8166074B2 (en) 2005-11-14 2012-04-24 Pettovello Primo M Index data structure for a peer-to-peer network
US9210234B2 (en) 2005-12-05 2015-12-08 Microsoft Technology Licensing, Llc Enabling electronic documents for limited-capability computing devices
US7845008B2 (en) 2005-12-07 2010-11-30 Lenovo (Singapore) Pte. Ltd. Virus scanner for journaling file system
US20070136810A1 (en) * 2005-12-07 2007-06-14 Lenovo (Singapore) Pte. Ltd. Virus scanner for journaling file system
US11194627B2 (en) 2005-12-19 2021-12-07 Vmware, Inc. Managing a virtualized application workspace on a managed computing device
US9317333B2 (en) * 2005-12-19 2016-04-19 Vmware, Inc. Method and system for providing load balancing for virtualized application workspaces
US10338969B2 (en) 2005-12-19 2019-07-02 Vmware, Inc. Managing a virtualized application workspace on a managed computing device
US20080147787A1 (en) * 2005-12-19 2008-06-19 Wilkinson Anthony J Method and system for providing load balancing for virtualized application workspaces
US10198162B2 (en) 2005-12-19 2019-02-05 Vmware, Inc. Method for installing or upgrading an application
US20070174309A1 (en) * 2006-01-18 2007-07-26 Pettovello Primo M Mtreeini: intermediate nodes and indexes
US7992128B2 (en) * 2006-01-27 2011-08-02 Sap Ag Computer software adaptation method and system
US20070240100A1 (en) * 2006-01-27 2007-10-11 Sap Ag Computer software adaptation method and system
US7836084B1 (en) * 2006-02-09 2010-11-16 Verizon Services Corp. Central database routing for distributed applications
US8280843B2 (en) 2006-03-03 2012-10-02 Microsoft Corporation RSS data-processing object
US20070208759A1 (en) * 2006-03-03 2007-09-06 Microsoft Corporation RSS Data-Processing Object
US8768881B2 (en) 2006-03-03 2014-07-01 Microsoft Corporation RSS data-processing object
US20070245251A1 (en) * 2006-03-06 2007-10-18 Microsoft Corporation RSS Hostable Control
US7979803B2 (en) 2006-03-06 2011-07-12 Microsoft Corporation RSS hostable control
US20070214233A1 (en) * 2006-03-07 2007-09-13 Daryl Cromer System and method for implementing a hypervisor for server emulation
US8560595B2 (en) * 2006-06-23 2013-10-15 Microsoft Corporation Virtualization of mobile device user experience
US9542062B2 (en) 2006-06-23 2017-01-10 Microsoft Technology Licensing, Llc Virtualization of mobile device user experience
US20070298719A1 (en) * 2006-06-23 2007-12-27 Microsoft Corporation Virtualization of mobile device user experience
US20080016186A1 (en) * 2006-07-12 2008-01-17 Ball Jonathan H Automated Deployment of Change and Configuration Management Software Tools
US8219649B2 (en) * 2006-07-12 2012-07-10 Ca, Inc. Automated deployment of change and configuration management software tools
US20080052357A1 (en) * 2006-08-24 2008-02-28 Michael John Branson Method, apparatus and computer program product for implementing dynamic customization of environment for enhanced network meeting experience
US9841882B2 (en) 2006-12-19 2017-12-12 Vmware, Inc. Providing application and device management using entitlements
US9256353B2 (en) 2006-12-19 2016-02-09 Vmware, Inc. Providing application and device management using entitlements
US20080307299A1 (en) * 2007-06-08 2008-12-11 Apple Inc. Client-side components
US8504913B2 (en) * 2007-06-08 2013-08-06 Apple Inc. Client-side components
US20080313500A1 (en) * 2007-06-15 2008-12-18 Alcatel Lucent Proctor peer for malicious peer detection in structured peer-to-peer networks
US7900082B2 (en) * 2007-06-15 2011-03-01 Alcatel Lucent Proctor peer for malicious peer detection in structured peer-to-peer networks
US20090006646A1 (en) * 2007-06-26 2009-01-01 Data Frenzy, Llc System and Method of Auto Populating Forms on Websites With Data From Central Database
US20090241180A1 (en) * 2008-01-28 2009-09-24 Trevor Fiatal System and Method for Data Transport
US9251236B2 (en) 2008-02-19 2016-02-02 International Business Machines Corporation Document synchronization solution
US8650154B2 (en) 2008-02-19 2014-02-11 International Business Machines Corporation Document synchronization solution
US20090210459A1 (en) * 2008-02-19 2009-08-20 International Business Machines Corporation Document synchronization solution
US8725679B2 (en) * 2008-04-07 2014-05-13 International Business Machines Corporation Client side caching of synchronized data
US20090254589A1 (en) * 2008-04-07 2009-10-08 International Business Machines Corporation Client side caching of synchronized data
US20110090236A1 (en) * 2009-10-15 2011-04-21 Microsoft Corporation Graphic Object Data Binding
US8631028B1 (en) 2009-10-29 2014-01-14 Primo M. Pettovello XPath query processing improvements
US20110289419A1 (en) * 2010-05-18 2011-11-24 Yu Chi Sum Sam Browser integration for a content system
US11288048B2 (en) 2011-09-02 2022-03-29 Microsoft Technology Licensing, Llc. Fast presentation of markup content having script code
US10466989B2 (en) 2011-09-02 2019-11-05 Microsoft Technology Licensing, Llc. Fast presentation of markup content having script code
US9954915B2 (en) 2011-11-28 2018-04-24 Merge Healthcare Incorporated Remote cine viewing of medical images on a zero-client application
US20170187765A1 (en) * 2011-11-28 2017-06-29 Merge Healthcare Incorporated Remote cine viewing of medical images on a zero-client application
US9769226B2 (en) * 2011-11-28 2017-09-19 Merge Healthcare Incorporated Remote cine viewing of medical images on a zero-client application
US8799358B2 (en) * 2011-11-28 2014-08-05 Merge Healthcare Incorporated Remote cine viewing of medical images on a zero-client application
US9338207B2 (en) 2011-11-28 2016-05-10 Merge Healthcare Incorporated Remote cine viewing of medical images on a zero-client application
US9635074B2 (en) 2011-11-28 2017-04-25 Merge Healthcare Incorporated Remote cine viewing of medical images on a zero-client application
US20130138717A1 (en) * 2011-11-28 2013-05-30 William A. N. Lingley Remote cine viewing of medical images on a zero-client application
US9814984B2 (en) * 2012-05-31 2017-11-14 Sony Interactive Entertainment Inc. Information processing system for enabling information processing devices to execute applications in affiliation
US20150149994A1 (en) * 2012-05-31 2015-05-28 Sony Computer Entertainment Inc, Information processing device and information processing system
US20140096024A1 (en) * 2012-09-29 2014-04-03 Oracle International Corporation Dynamic configurable menu using self-describing applications
US9189132B2 (en) * 2012-09-29 2015-11-17 Oracle International Corporation Dynamic configurable menu using self-describing applications
US20150350289A1 (en) * 2014-05-30 2015-12-03 Paladin Innovators Methods & Systems for Transmission of High Resolution & Low Latency Data
US20170185244A1 (en) * 2015-12-29 2017-06-29 Sap Se User engagement application across user interface applications
US10088981B2 (en) * 2015-12-29 2018-10-02 Sap Se User engagement application across user interface applications
US10481876B2 (en) * 2017-01-11 2019-11-19 Microsoft Technology Licensing, Llc Methods and systems for application rendering
US20180196644A1 (en) * 2017-01-11 2018-07-12 Microsoft Technology Licensing, Llc Methods and systems for application rendering
US11822870B2 (en) * 2018-10-04 2023-11-21 Oracle International Corporation Customizable user interface layouts
CN113796049A (zh) * 2019-11-29 2021-12-14 京东方艺云科技有限公司 一种显示设备之间的交互方法及显示设备

Also Published As

Publication number Publication date
GB2377784A (en) 2003-01-22
GB0203281D0 (en) 2002-03-27
US20040148375A1 (en) 2004-07-29
GB2377784B (en) 2003-11-05
WO2002065278A3 (fr) 2004-01-08
GB2377518A (en) 2003-01-15
GB2377518B (en) 2003-10-22
US7627658B2 (en) 2009-12-01
WO2002065286A2 (fr) 2002-08-22
WO2002065286A3 (fr) 2004-01-08
GB0203282D0 (en) 2002-03-27
WO2002065278A2 (fr) 2002-08-22

Similar Documents

Publication Publication Date Title
US20040117439A1 (en) Client software enabling a client to run a network based application
KR100998515B1 (ko) 클라이언트-서버 네트워크에서 파일-유형 연관성을 이용한분산 프로그램 실행 방법
US7277408B2 (en) Shared application access for data services in wireless telecommunication systems
US7330872B2 (en) Method for distributed program execution with web-based file-type association
US6952714B2 (en) Method for distributed program execution with server-based file type association
US8924592B2 (en) Synchronization of server-side cookies with client-side cookies
US7650390B2 (en) System and method for playing rich internet applications in remote computing devices
US20030061279A1 (en) Application serving apparatus and method
US20080301819A1 (en) Mobility device
US20030074393A1 (en) Methods for distributed program execution with file-type association in a client-server network
AU2002332001A1 (en) Methods for distributed program execution with file-type association in a client-server network
WO2005036305A2 (fr) Dispositif de mobilite
US20050071439A1 (en) Mobility device platform
US8271574B1 (en) Content sharing and collaboration
TWI259377B (en) Method for processing web services, mobility device and system relating to the same
US10341420B1 (en) Approaches for preparing and delivering bulk data to clients
WO1999022332A1 (fr) Systeme et procede d'acquisition de programmes a distance permettant d'executer une tache
US20060047781A1 (en) Method and system for providing remote portal service modules
JP2003337767A (ja) 情報システムを構築するための基盤システム
JP2002014963A (ja) データベース管理システム及びその開発システム
Middleware et al. Xinetica White Paper
Goulas et al. SchedSP-WS: adaptation of an application service platform for scheduling solutions to Web services and Grid standards
Serain e-Business Architectures
WO2004095303A1 (fr) Systeme et procede de gestion des connaissances

Legal Events

Date Code Title Description
AS Assignment

Owner name: LTO LIMITED, UNITED KINGDOM

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NATHAN, BENJAMIN LAWRENCE;LEVETT, DAVID LAWRENCE;MILLS, ROBERT IAN;REEL/FRAME:014987/0356

Effective date: 20040119

AS Assignment

Owner name: INTEGRA SP LIMITED, UNITED KINGDOM

Free format text: CHANGE OF NAME;ASSIGNOR:INTEGRA SP IPR LIMITED;REEL/FRAME:020553/0249

Effective date: 20071110

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION