Optimizing client code through automated server specialization
First Claim
1. A method of communication between a client operating in a first platform-independent environment to a server operating in a second platform-independent environment to obtain a service for said client via said server, comprising the steps of:
- compiling a program for said client from a platform-independent source code;
using said program to generate a request for said service by said client;
at said client encoding said request according to a first format to define an encoded message;
transmitting said encoded message to a mediator;
at said mediator re-encoding said encoded message into a second format to define a re-encoded message, wherein a size of said re-encoded message exceeds a size of said encoded message; and
transmitting said re-encoded message to a provider of said service.
1 Assignment
0 Petitions
Accused Products
Abstract
Improved end-to-end server-client communication is achieved, wherein a thin client requests services from a server using a condensed optimized protocol. A mediator is provided on the server, which translates encoded messages from the client into standard web service request formats. Results are re-encoded at the server and returned to the client. A code generator is provided to automatically create optimized and specialized client and server code using templates, in which the code is optimized according to the characteristics of the client and the specified services. Grouped messages are supported. Bandwidth consumption is reduced by the technique, which increases the performance of resource-constrained clients, such as small wireless devices.
65 Citations
78 Claims
-
1. A method of communication between a client operating in a first platform-independent environment to a server operating in a second platform-independent environment to obtain a service for said client via said server, comprising the steps of:
-
compiling a program for said client from a platform-independent source code;
using said program to generate a request for said service by said client;
at said client encoding said request according to a first format to define an encoded message;
transmitting said encoded message to a mediator;
at said mediator re-encoding said encoded message into a second format to define a re-encoded message, wherein a size of said re-encoded message exceeds a size of said encoded message; and
transmitting said re-encoded message to a provider of said service. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of establishing access by a client to predetermined server-side services, comprising the steps of:
-
installing proxy code in said client to provide an interface with an application program executing therein, wherein requests for said server-side services are generated by said application program and said proxy code is adapted to reformulate said requests as first messages according to a first protocol; and
executing a mediator program in a computing device external to said client, said mediator program accepting input from said client according to said first protocol and being further adapted to reformulate said first messages as second messages according to a second protocol, said computing device being capable of communicating said second messages to a provider of said server-side services. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A method of communication between a client operating in a first platform-independent environment and a server operating in a second platform-independent environment over a data network to obtain a supported service for said client via said server, comprising the steps of:
-
at said client encoding a request for said service according to a first format to define an encoded message;
transmitting said encoded message to a mediator via said data network;
at said mediator re-encoding said encoded message into a second format to define a re-encoded message, wherein a size of said re-encoded message exceeds a size of said encoded message; and
transmitting said re-encoded message to a provider of said service via said data network. - View Dependent Claims (25, 26, 27, 28, 29)
-
-
30. A computer software product, comprising a computer-readable medium in which computer program instructions are stored, which instructions, when read by a computer, cause the computer to perform a method of communication between a client operating in a first platform-independent environment and a server operating in a second platform-independent environment to obtain a service for said client via said server, comprising the steps of:
-
at said client encoding a request for said service according to a first format to define an encoded message;
transmitting said encoded message to a mediator;
at said mediator re-encoding said encoded message into a second format to define a re-encoded message, wherein a size of said re-encoded message exceeds a size of said encoded message; and
transmitting said re-encoded message to a provider of said service. - View Dependent Claims (31, 32, 33, 34, 35)
-
-
36. A computer software product, comprising a computer-readable medium in which computer program instructions are stored, which instructions, when read by a computer, cause the computer to perform a method of establishing access by a client operating in a first platform-independent environment to a server operating in a second platform-independent environment to obtain predetermined server-side services, comprising the steps of:
-
generating proxy code for installation in said client to provide an interface with an application program executing therein, wherein requests for said server-side services are generated, by said application program and said proxy code is adapted to reformulate said requests as first messages according to a first protocol; and
generating a mediator program for installation in a computing device external to said client, said mediator program accepting input from said client according to said first protocol and being further adapted to reformulate said first messages as second messages according to a second protocol, said computing device being capable of communicating said second messages to a provider of said server-side services. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52)
-
-
53. A computer software product, comprising a computer-readable medium in which computer program instructions are stored, which instructions, when read by a computer, cause the computer to perform a method of establishing an interaction between a client operating in a first platform-independent environment to a server operating in a second platform-independent environment over a data network to obtain a supported service for said client via said server, comprising the steps of:
-
generating a first program for installation in said client, which when executed by said client causes said client to perform the steps of;
encoding a request for said service according to a first format to define an encoded message; and
transmitting said encoded message to said server via said data network; and
generating a second program for installation in said server, which when executed by said server causes said server to perform the steps of;
re-encoding said encoded message into a second format to define a re-encoded message, wherein a size of said re-encoded message exceeds a size of said encoded message; and
transmitting said re-encoded message to a provider of said service via said data network. - View Dependent Claims (54, 55, 56, 57, 58)
-
-
59. A development system for establishing access by a client to predetermined server-side services, comprising:
-
a computer having a code generator executing therein within a first platform-independent environment, said code generator being adapted to generate proxy code executable in said client to provide an interface with an application program executing in said client, wherein requests for said server-side services are generated by said application program and said proxy code is adapted to reformulate said requests as first messages according to a first protocol, wherein said client operates in a second platform-independent environment; and
said code generator being further adapted to generate a mediator program for a computing device external to said client, said mediator program accepting input from said client according to said first protocol and being further adapted to reformulate said first messages as second messages according to a second protocol, said computing device being capable of communicating said second messages to a provider of said server-side services. - View Dependent Claims (60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78)
-
Specification