IP Library Granted Patent US 7,774,740
Granted Patent B2
US 7,774,740 · App. 11/241,985 · Granted Aug 10, 2010

Application server

Assignee: Implicit Networks, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,774,740
App. No.
11/241,985
Granted
Aug 10, 2010
Kind
B2
Abstract

The present invention is an applet server which accepts requests for applets from client computers. A request specifies the format in which an applet is to be delivered to the requesting client computer. The applet server has a cache which it uses to store applets for distribution to client computers. If the specified form of the requested applet is available in the cache, the applet server transmits the applet to the requesting client. If the applet is not available in the cache, the server will attempt to build the applet from local resources (program code modules and compilers) and transformer programs (verifiers and optimizers). If the applet server is able to build the requested applet, it will then transmit the applet to the requesting client computer. If the applet server is unable to build the requested applet, it will pass the request to another applet server on the network for fulfillment of the request.

Claims (97)

1. A method operating on a computer system, having a client computer and a server computer, for managing requests to the server computer, the method comprising:

at the server computer, receiving a request from the client computer, the request identifying an application and identifying a form of the application, the identified form being one of a plurality of available forms; and

in response to receiving the request:

generating the identified form of the application from a source form of the application, wherein generating comprises:

compiling the source form of the application into a compiled form of the application; and

transforming the application into a transformed form of the application, wherein transforming comprises compression of the compiled form of the application; and

sending the transformed form of the application to the client computer.

2. The method of claim 1 wherein the identified form of the application is specified using a Universal Resource Locator.

3. The method of claim 1 wherein the identified form of the application is specified using a cookie.

4. The method of claim 1 wherein the identified form of the application is specified in an HTTP header.

5. The method of claim 1 wherein the transformed form of the application is a web page.

6. The method of claim 1 wherein the transformed form of the application is a portion of a web page.

7. The method of claim 1 wherein transforming further comprises execution of the generated form.

8. The method of claim 1 wherein transforming further comprises verification of the generated form.

9. The method of claim 1 wherein transforming further comprises optimization of the generated form.

10. The method of claim 1 wherein the transformed form of the application is sent to the client computer in an HTTP response.

11. A method operating on a computer system, having a client computer and a server computer, for managing requests to the server computer, the method comprising:

at the server computer, receiving a request from the client computer, the request identifying an application and identifying a form of the application; and

in response to receiving the request:

compiling the application into a compiled form;

transforming the compiled application into a transformed form of the compiled form of the application, wherein transforming comprises execution and compression of the compiled form; and

sending the transformed form of the application to the client computer.

12. The method of claim 11 wherein the identified form of the application is specified using a Universal Resource Locator.

13. The method of claim 11 wherein the identified form of the application is specified using a cookie.

14. The method of claim 11 wherein the identified form of the application is specified in a HTTP header.

15. The method of claim 11 wherein the identified form of the application is a web page.

16. The method of claim 11 Wherein the identified form of the application is a portion of a web page.

17. The method of claim 11 wherein transforming further comprises verification of the compiled form.

18. The method of claim 11 wherein transforming further comprises optimization of the compiled form.

19. The method of claim 11 wherein the transformed form of the application is sent to the client computer in an HTTP response.

20. The method of claim 11 , further comprising:

storing a plurality of available forms of the application;

the server, in response to receiving the request, determining if the identified form of the application is one of the stored plurality of available forms of the application; and

if the identified form of the application is one of the stored plurality of available forms, sending the identified form of the application to the client computer without compiling and transforming.

21. The method of claim 11 , further comprising:

storing a plurality of available forms of the application;

the server, in response to receiving the request, determining if the identified form of the application is one of the stored plurality of available forms of the application; and

if the identified form of the application is one of the stored plurality of available forms, sending the identified form of the application to the client computer without compiling.

22. A method operating on a computer system, having a client computer and a server computer, for generating an application in response to a request by the client computer wherein each request for an application specifies one form of the application out of a plurality of forms of the application, comprising;

receiving on the server computer a request from the client computer for an application in a specified form from a plurality of available forms;

compiling and compressing the application to thereby generate the specified form; and

transmitting the generated application in the specified form to the client computer.

23. The method of claim 22 wherein the specified form of the application is specified using a Universal Resource Locator.

24. The method of claim 22 wherein the specified form of the application is specified using a cookie.

25. The method of claim 22 wherein the specified form of the application is specified in a HTTP header.

26. The method of claim 22 wherein the specified form of the application requested is a web page.

27. The method of claim 22 wherein the specified form of the application requested is a portion of a web page.

28. The method of claim 22 wherein the specified form of the application is transmitted to the client computer in an HTTP response.

29. The method of claim 22 wherein the specified form of the application is sent to the client computer in an HTTP Response.

30. A method operating on a computer system, having a client computer and a server computer, for managing requests to the server computer, the method comprising:

receiving a request from the client computer, the request identifying an application and identifying a form of the application; and

the server computer, in response to receiving the request:

compiling a form of the application;

caching the compiled form of the application;

transforming the compiled form of the application to thereby generate the identified form of the application, wherein transforming comprises compression of the compiled form; and

sending the identified form of the application to the client computer.

31. The method of claim 30 wherein transforming further comprises execution of the compiled form.

32. The method of claim 30 wherein transforming further comprises verification of the compiled form.

33. The method of claim 30 wherein transforming further comprises optimization of the compiled form.

34. The method of claim 30 wherein caching the compiled form of the application comprises storing the compiled form of the application in local memory.

35. A method operating on a computer system, having a client computer and a server computer, for managing requests to the server computer, the method comprising:

at the server computer, receiving a request from the client computer, the request identifying an application and identifying a form of the application; and

in response to receiving the request:

generating the identified form of the application from a source form of the application, wherein generating comprises:

compiling the application from the source form into a compiled form;

transforming the application into a transformed form of the compiled form of the application, wherein transforming comprises compression of the compiled form; and

sending the transformed form of the application to the client computer.

36. the method of claim 35 , further comprising:

storing a plurality of available forms of the application;

the server, in response to receiving the request, determining if the identified form of the application is one of the stored plurality of available forms of the application; and

if the identified form of the application is one of the stored plurality of available forms, sending the identified form of the application to the client computer without generating and transforming.

37. The method of claim 35 , further comprising:

storing a plurality of available forms of the application;

the server, in response to receiving the request, determining if the identified form of the application is one of the stored plurality of available forms of the application; and

if the identified form of the application is one of the stored plurality of available forms, sending the identified form of the application to the client computer without generating.

38. A method operating on a computer system, having a client computer and a server computer, for managing requests to the server computer, the method comprising:

receiving a request from the client computer, the request identifying an application and identifying a form of the application; and

the server computer, in response to receiving the request:

compiling a source form of the application;

caching the compiled form of the application;

transforming the compiled form of the application to thereby generate the identified form of the application, wherein transforming comprises compression of the compiled form;

sending the identified form of the application to the client computer; and

caching the identified form of the application.

39. A method operating on a computer system, having a client computer and a server computer, for managing requests to the server computer, the method comprising:

receiving a request from the client computer, the request identifying an application and identifying a form of the application; and

the server computer, in response to receiving the request:

compiling a source form of the application;

caching the compiled form of the application;

transforming the compiled form of the application to thereby generate the identified form of the application, wherein transforming the compiled form comprises compression of the compiled form; and

sending the identified form of the application to the client computer.

40. A method operating on a computer system, having a client computer and a server computer, for managing requests to the server computer, the method comprising:

receiving a request from the client computer, the request identifying an application and identifying a form of the application; and

the server computer, in response to receiving the request:

compiling a source form of the application;

transforming the compiled form of the application to thereby generate the identified form of the application, wherein transforming comprises compression of the compiled form;

sending the identified form of the application to the client computer; and

caching the identified form of the application.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Jan 8, 2018
From: CBC PARTNERS I, LLC
To: IMPLICIT, LLC
Reel/Frame 044558/0896 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2014
From: IMPLICIT NETWORKS, INC.
To: IMPLICIT, LLC
Reel/Frame 032372/0119 →
SECURITY AGREEMENT Recorded Feb 28, 2014
From: IMPLICIT, LLC
To: CBC PARTNERS I, LLC
Reel/Frame 032372/0313 →
Continuity (3)
Continuation 0996870400 · Oct 1, 2001
Continuation 0904097200 · Mar 18, 1998
Related Publication 20060031824A1 · Feb 9, 2006