Claims
- 1. An application server for use on a portable device comprising an application manager.
- 2. The server of claim 1 further comprising a services container.
- 3. The server of claim 2, wherein the services container comprises an application, an admin object and processing object.
- 4. An application server for use on a portable device comprising an application manager, wherein the application manager comprises:
a process manager operable for controlling the processing of an application in a services container; a device manager operable for determining which devices function with an application name and role; a naming service; and a message service operable to allow cross-thread communications between processes running within the portable device.
- 5. The server of claim 4, further comprising a services container
- 6. The server of claim 5, wherein the services container comprises an application, an admin object and processing object.
- 7. The server of claim 5, wherein the application manager further comprises a database access manager.
- 8. The server of claim 7, wherein the database access manager comprises a database access API operable for receiving a client database request, accessing a data store on the portable device, populating a business object with returned data, and sending the populated business object to a calling method of the client.
- 9. The server of claim 7, wherein the services container comprises a database application and a data access bean having an interface conforming to the database access API, operable to access the data store even if the client is using a different database application.
- 10. The server of claim 7, wherein the database access manager further comprises an encryption module using one of the group of a private key operable to decrypt data accessed from the data store, a shared private key operable to encrypt the business object, and a public key of the client operable to encrypt the business object.
- 11. The server of claim 5, wherein the application manager further comprises an ORB, and a GUI operable to provide a user of the portable device with secure management functionality to control the application manager and the application.
- 12. The server of claim 5, wherein the application manager comprises an on-demand deployment engine for changing server functionality in response to remote control.
- 13. The server of claim 12, wherein the application manager is operable to automatically deploy at least one of a further services container, a registered modification to an application resource of within a predefined folder of the application, a modification to a Java class file within the application, and a Java bean.
- 14. The server of claim 12, wherein the application manager further comprises a file context object operable to enforce a file structure parameter for the application and a security parameter operable to determine that the deployment engine only functions for software being deployed from a trusted source.
- 15. The server of claim 12, wherein the application manager further comprises an admin tool operable to automatically poll at predetermined periods including initiation of on-line status for application software updates.
- 16. The server of claim 12, wherein the application manager further comprises a security manager operable to verify that communications with the server are with trusted sources and to enable encrypted communications.
- 17. The server of claim 4, further comprising plural services containers each comprising a Java application, wherein the application manager runs on a Java virtual machine and is operable to deploy, initiate or stop Java applications in the plural service containers without closing the Java virtual machine.
- 18. The server of claim 17, wherein the services container comprises a security service configurable to set a parameter for determining a security requirement for responding to requests from remote objects.
- 19. The server of claim 4, further comprising at least one service container and an application object, wherein the application manager is operable to manage the application object.
- 20. The server of claim 19, wherein the application object separate from the service container, wherein said service container comprises a security service, the application manager being operable to manage the application object at least partially by managing the security service.
- 21. The server of claim 20, wherein the security service is an access control service and the application object is an application, the application manager being operable to set a parameter for limiting access to the application unless a security requirement is satisfied for responding to requests from remote objects.
- 22. The server of claim 4, wherein the portable device is one of the group consisting of a Personal digital assistant, a phone, a radio, a handheld camera, and a portable remote controller.
- 23. The server of claim 4, wherein the portable device is one of the group consisting of a portable embedded controller operable in one of the group consisting of a motor vehicle, an appliance, a utility installation, and a manufacturing control system.
- 24. A method for providing processing services on a portable device to another client device, comprising:
a) sending a request by the client device to the portable device; b) receiving the request by an application server of the portable device, the application server comprising an application manager and a services container; c) verifying by a device manager of the application server that the client device is permitted to function with an application name and role; d) accessing an application in the services container and processing the request to return a response with requested information; and e) forwarding the response to the client device.
- 25. The method of claim 24, wherein the request is a client database request and step d) comprises accessing a database access manager via a database access API, the API receiving the client database request, accessing a data store on the portable device, populating a business object with returned data, and sending the populated business object to a calling method of the client device.
- 26. The method of claim 25, wherein the services container comprises a database application and a data access bean having an interface conforming to the database access API, further comprising accessing the data store even if the client is using a different database application.
- 27. The method of claim 24, wherein the application manager comprises an on-demand deployment engine, further comprising the step of changing application server functionality in response to a control message from a remote admin server.
- 28. The method of claim 27, wherein in response to said control message the application manager automatically deploys at least one of a further services container, a registered modification to an application resource of within a predefined folder of the application, a modification to a Java class file within the application, and a Java bean.
- 29. The method of claim 27, wherein the application manager further comprises a file context object and a security parameter, the file context object enforcing a file structure parameter for the application, and the application manager applying the security parameter to determine whether the deployment engine functions for software being deployed.
- 30. The method of claim 27, wherein the application manager further comprises an admin tool, the admin tool automatically polling at predetermined periods including initiating on-line status requests for application software updates.
- 31. The method of claim 27, wherein the application manager further comprises a security manager, the security manager verifying that communications with the server are with trusted sources and enabling encrypted communications.
- 32. The method of claim 24, wherein the application server comprises plural services containers each comprising a Java application, wherein the application manager runs on a Java virtual machine, the application manager operating to deploy, initiate or stop Java applications in the plural service containers without closing the Java virtual machine.
- 33. The method of claim 24, wherein the portable device is one of the group consisting of a Personal digital assistant, a phone, a radio, a handheld camera, and a portable remote controller.
- 34. The method of claim 24, wherein the portable device is one of the group consisting of a Personal digital assistant, a phone, a radio, a handheld camera, a portable remote controller, and a portable embedded controller operable in one of the group consisting of a motor vehicle, an appliance, a utility installation, and a manufacturing control system.
- 35. A system of networked clients and servers comprising:
plural mobile client devices each comprising a client program and an application server; an enterprise server; a proxy server operable for allowing a device application server to communicate with the enterprise server; an admin server operable for managing the application server on each device; and a network operably coupling the plural mobile devices, enterprise server, proxy server and admin server.
- 36. The system of claim 35, further comprising plural embedded devices comprising program logic and an application server.
- 37. The system of claim 35, wherein each device server comprises networking logic to control communications with another device;
- 38. The system of claim 35, wherein at least two of the devices are wireless devices each having a device server with networking logic operable to provide peer-to-peer communications directly between said at least two devices without the need for any wired network.
- 39. The system of claim 35, wherein each application server comprises an application manager and services container, wherein the application manager comprises:
a process manager operable to control the processing of an application in a services container; a device manager operable for resolving which devices function with an application name and role; and a communications service.
- 40. The system of claim 39, wherein the application manager further comprises a database access manager comprising a database access API operable for receiving a client database request, accessing a data store on the portable device, populating a business object with returned data, and sending the populated business object to a calling method of the client, the services container further comprising a database application and a data access bean having an interface conforming to the database access API, operable to access the data store even if the client is using a different database application.
- 41. The system of claim 39, wherein the plural mobile devices further comprise a remote management server for changing application server functionality in response to remote control.
- 42. The system of claim 41, wherein the remote management server is operable to automatically deploy at least one of a further services container, a registered modification to an application resource of within a predefined folder of the application, a modification to a Java class file within the application, and a Java bean.
- 43. The system of claim 41, wherein the remote management server further comprises an admin tool operable to automatically poll at predetermined periods including initiation of on-line status for application software updates, and a security manager operable to verify that communications with the server are with trusted sources and to enable encrypted communications.
- 44. The system of claim 35, further comprising plural services containers each comprising a Java application, wherein the application manager runs on a Java virtual machine and is operable to deploy, initiate or stop Java applications in the plural service containers without closing the Java virtual machine.
- 45. The system of claim 44, wherein the services container comprises a security service configurable to set a parameter for determining a security requirement for responding to requests from remote objects.
- 46. The system of claim 35, wherein each client device is one of the group consisting of a Personal digital assistant, a phone, a radio, a handheld camera, a portable remote controller, and a portable embedded controller operable in one of the group consisting of a motor vehicle, an appliance, a utility installation, and a manufacturing control system.
- 47. A system of distributed intelligent agents for processing distributed data, comprising plural client devices each comprising a client program, a server, a rules library and a rules engine.
- 48. The system of claim 47, wherein each rules library comprises a rules interface for loading rules, mapping objects to rules, executing rules, and receiving mapped objects from rules.
- 49. The system of claim 47, wherein each rules engine comprises one of the group of a JESS or Blaze rules engine.
- 50. The system of claim 47, wherein each client device further comprises an on-demand deployment engine for changing server and rules library functionality in response to remote control.
- 51. The system of claim 47, wherein each server comprises remote access logic operable for sending requests to remote client devices for data required for a rule operation, and receiving said data and forwarding it to the rules engine for processing.
- 52. The system of claim 47, wherein each rules engine comprises an artificial intelligence logic.
- 53. A system for organizational decision flow using distributed clients and servers, comprising:
an application server comprising a decision flow engine operable for processing rules-based workflow actions; plural portable devices comprising a client program and a device server, at least a subset of said plural portable devices also comprising a rules library and a rules engine operable for processing a portion of a workflow action according to a rule; at least one enterprise app server.
- 54. The system of claim 53, wherein the decision flow engine comprises:
a decision flow server operable for processing a set of decision flow actions; and a rules server and rules engine, operable for processing.
- 55. A method for processing information within a network of distributed servers and client devices, at least some of the client devices being portable devices including client logic and an application server, comprising the steps:
a) creating an application request at a first client device; b) contacting an object requester in a first portable device via said network; c) said first portable device object requestor contacting an application server, wherein in response the application server invokes an application for servicing the application request; d) said application processing the application request and returning a completed object including content responsive to the request; e) receiving the completed object at the first client device.
- 56. The method of claim 55, wherein step d) first comprises determining if rule logic is required to complete the action, and if so creating a rule session and receiving and processing required rule logic from said rule session.
- 57. The method of claim 55, wherein step d) further comprises: d1) determining whether resources are required from other services, and if so accessing said other services.
- 58. The method of claim 57, wherein step d1) comprises determining whether information of a database of the first portable device should be accessed and if so retrieving the data required.
- 59. The method of claim 57, wherein said accessing step of step d1) comprises sending a request to a Java proxy server, processing the request by a proxy bean running within the Java proxy server to retrieve the data required from a wireline networked application server and returning data responsive to the request;
- 60. A method for processing information within a network of distributed servers and client devices including an decision flow (DF) server, at least some of the client devices being among the group of portable or embedded devices which include client logic and an application server, comprising the steps:
a) a workflow processor of the DF server receiving a work item for processing, the work item comprising a process definition and set of one or more actions; b) the workflow processor processing said process definition and getting the set of actions; c) the workflow processor further processing said set of actions; wherein a first action of said set of actions requests execution of a process on the first portable device.
- 61. The method of claim 60, wherein the first action comprises one of the group consisting of:
a notification action notifying the first portable device of a first statement comprising one of a notification of information or a request for user action; a question action requesting a response by a user of the first portable device; a command invoking a method for execution by the application server of the first portable device; and a database action for accessing information from a database on the first portable device.
- 62. The method of claim 60, wherein prior to step a) a worklist bean processes workitems for expired workitems, the worklist bean notifying the workflow processor when the first workitem is expired.
- 63. The method of claim 60, wherein prior to step a) a processor bean receives a work item from one of the distributed servers and client devices and forwards the work item to the workflow processor.
- 64. The method of claim 60, wherein the workflow processor is a decision flow processor and step b) comprises retrieving a rule set associated with the work item, and processing the rule set in a rule bean loaded in an inference engine.
RELATED APPLICATIONS
[0001] This application is related (a) as a continuation in part to U.S. application Ser. No. 09/670,988, filed on Sep. 28, 2000 (which is a continuation of U.S. application Ser. No. 09/050,545 (now U.S. Pat. No. 6,125,363)), and (b) as a non-provisional application continuing in part from U.S. provisional application No. 60/337,579, filed on Oct. 26, 2001, both of which applications are fully incorporated herein by reference for all purposes.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60337579 |
Oct 2001 |
US |