Professional Documents
Culture Documents
Ravjot Singh
Computer Science
Guru Tegh Bahadur Institute Of Technology, New Delhi
ravjot28@gmail.com, +919540140052
Client Server
Interface
LC-C LC-S/LC-S
The main objective of RLCI is to provide the core libraries and classes to the user’s
code, on user’s demand for building the code. In addition it also provides the support
of external APIs that the client uses to accomplish tasks in the client’s code.
Server is collection of servers corresponding to respective languages for supporting
core libraries and classes to client’s code. These servers can be globally common or
dedicated to specific cloud providers.
LC-C is the copy of the portable files, which supports the client’s code by providing
core libraries or classes according to the language used and also APIs to the code.
RLCI-G passes the request from client to server and response from server to client.
RLCI-G contains internal cache, which copies the portable files, which can be used in
future by the clients. LC-S is the dynamic conversion of the API’s files to the portable
files, which can be easily attached to the client’s code.
LC-C Code
Client
SS (Socket Service)
Similar to DQS but it is triggered whenever SS tag is encountered during execution of
the code. Here the socket statements are extracted and executed dynamically. The
connection between the clients are made using multi connection server, which sends
encrypted messages according to the socket command, to the clients. Each client is
given an identity and a secret key to get access to send messages or data streams to
the specific client.
Post Box is the server, which are the intermediate servers to link a connection route to
the clients. Each client is assigned to a specific Post Area, which is based on the
geographical location of the users. If 2 clients belong to same Post area then RLCI-G
is used instead of Post Box servers to inter communicate between the clients.
Executing Code Area
Here the portable built executable code is parsed to the simulator using a bridge,
which maps the code to the simulator using an intermediate language for GUI purpose
only. The desktop environment is maintained using WebGL, which renders the GUI,
same as it was in desktop. Using RLCI language features are maintained and using
Executing Code Area Desktop GUI environment is maintained.
Experiments
DQS and SS were tested in a private cloud to observe the delay for processing.
Bandwidth was 256 Kbps and for intermediate messaging server Gmail was used.
Laptop, netbook, iPod, Desktop, iPad and Nokia mobile phone were used for testing.
Programming Language: J2SE Database: MSAccess
Query: Insert Query Round Trip: 13 sec.
Programming Language: Objective C Database: MySQL
Query: Select Query Round Trip: 12.4 sec.
Programming Language: Objective C (iPod) Database: MSAccess
Query: Delete Query Round Trip: 11.7 sec.
Programming Language: J2ME Database: MSAccess
Query: Insert Query Round Trip: 12 sec.
Programming Language: Perl Database: MSAccess
Query: Select Query Round Trip: 12.5 sec.
Programming Language: J2EE Database: MSAccess
Query: Insert Query Round Trip: 12.1 sec.
Conclusion
This approach supports all languages and the developers can compile their codes
using this technology and can achieve built executable code, which can be directly
executed in cloud anytime. No re writing of the code is required and the bugs are
reduced as the core libraries and classes are included of the language. Clients feel
comfortable as the environment is familiar to them and no new language is
introduced. External APIs, Database Query and Socket are supported.