Claims
- 1. A method of characterizing a processing device in a network having at least one first data processing device and at least one second processing device in data communication therewith, comprising:
downloading at least a portion of a distributed application to said at least one second processing device; starting said downloaded portion; querying said at least one second processing device for configuration information; and transmitting at least a portion of said configuration information to said at least one first processing device.
- 2. The method of claim 1, wherein said at least one first data processing device comprises a server, and said at least one second processing device comprises a client device coupled to said server via a network, and said act of downloading comprises transferring said at least portion of said distributed application to said at least one client device via a communication channel associated with said network.
- 3. The method of claim 2, wherein said network comprises a cable network, and said communication channel comprises an out-of-band (OOB) channel.
- 4. The method of claim 1, wherein said act of downloading comprises downloading said at least portion from a third device in data communication with said at least one second processing device.
- 5. The method of claim 4, further comprising:
transmitting at least one signal from said at least one first processing device to said third device; and initiating said act of downloading based at least in part on said signal.
- 6. The method of claim 5, wherein said act of transmitting at least one signal comprises transmitting said at least one signal over said network.
- 7. The method of claim 1, wherein said act of querying comprises:
transmitting a first message from said at least one first processing device to said at least one second processing device; and initiating, in response to said first message, a routine within said at least one client device adapted to determine said configuration information.
- 8. The method of claim 1, wherein said act of querying comprises issuing a middleware call.
- 9. The method of claim 7, wherein said act of transmitting at least a portion of said configuration information comprises:
generating a message according to a predetermined format, said message comprising said at least portion of said configuration information; and transmitting said message to said at least one first processing device via a communication channel.
- 10. The method of claim 1, wherein said act of transmitting at least a portion of said configuration information comprises:
generating a message according to a predetermined format, said message comprising said at least portion of said configuration information; and transmitting said message to said at least one first processing device via a communication channel.
- 11. The method of claim 10, wherein said act of transmitting said message comprises transmitting said message via a communication channel other than said network.
- 12. A method of characterizing a processing device in a network having at least one server and at least one client device in data communication therewith, comprising the steps of:
providing a distributed application having at least a server portion and a client portion, said distributed application being initially disposed at said at least one server; downloading said at least client portion of said distributed application to said at least one client device to provide said at least client device with a predetermined functionality; starting said downloaded client portion; querying said at least one client device to obtain configuration information therefrom using said client portion; and generating a data structure containing at least a portion of said configuration information in response to said act of querying.
- 13. A method of dynamically allocating a distributed application between a server and at least one client device, comprising:
providing said distributed application comprising a plurality of components; selectively downloading at least a first component of said distributed application from said sever to said at least one client device; determining the functionality of said at least one client after said downloading is completed; and successively downloading individual additional components of said application, and testing the functionality of said client thereafter each such successive download, until said client is determined to be functional.
- 14. The method of claim 13, wherein the act of determining the functionality comprises determining whether data may be transmitted between said at least one client device and said server via at least one communication channel.
- 15. The method of claim 14, wherein said first component comprises an out-of-band (OOB) communications module.
- 16. The method of claim 15, wherein said additional components comprise a cable modem (DOCSIS) communications module and telco modem communications module.
- 17. A method for operating a client device in a network having a server and a client device, comprising:
downloading a portion of a distributed application to said client device; initiating a software routine for starting said downloaded portion; querying said client device for configuration information using at least said downloaded portion; and generating said configuration information specific to said client device.
- 18. The method of claim 17, further comprising configuring said client device based at least in part on said configuration information.
- 19. The method of claim 18, further comprising transmitting said client device configuration information to said server, and wherein the act of configuring comprises selectively downloading one or more additional distributed application components based on said transmitted configuration information.
- 20. Apparatus for profiling at least one client device, said at least one client device being operatively connected to a data network, comprising:
server means in data communication with said network; means for communicating data to said client device means for determining the configuration of said client device, said means for determining being movable to said client device via said means for communicating; means for transmitting said means for determining from said server means to said client device; means for transmitting information regarding said client device configuration to said server means; means for receiving said client device information at said server means; and means for storing at least a portion of said client device information.
- 21. An apparatus for dynamically obtaining the configuration of a client device connected to a data network, comprising:
at least one server in data communication with said network; a distributed application having at least a server portion and a client portion, said at least client portion being movable between said server and said client device, said at least client portion being adapted to communicate with said at least server portion; a storage device operatively coupled to said at least one server; wherein said at least client portion is adapted, when moved to said client device, to obtain configuration information regarding said client device, and transmit said configuration information to said server for storage in said storage device.
- 22. The apparatus of claim 21, wherein said at least server portion of said distributed application is further adapted to analyze said configuration information received from said client device, and determine, based on said analysis, additional software components to be downloaded to said client device.
- 23. A method of transferring configuration information relating to a processing device in data communication with a network, comprising:
querying said processing device using a first software process; generating a data structure in response to said act of querying using a second software process, said data structure comprising a plurality of data fields, each of said fields comprising a plurality of data bits, wherein combinations of said bits within each field indicate configuration information related to said processing device.
- 24. A distributed application for use on a data network, comprising:
at least one server portion disposed on at least one of a plurality of servers of said network, said at least one server portion comprising a plurality of modules; at least one client portion disposed on at least one of a plurality of client devices of said network, said at least one client portion comprising at least one module, and being adapted to obtain configuration information from said at least one client device and generate a data structure containing at least a portion of said configuration information; at least one mutable module, said mutable module being adapted to run on either at least one of said plurality of servers or at least one of said plurality of client devices; wherein said at least one mutable module is adapted to maintain at least one network partition.
- 25. The distributed application of claim 24, wherein said at least one server portion is further adapted to receive said data structure and recognize said configuration information.
- 26. The distributed application of claim 24, wherein the location of said at least one mutable module is determined at least in part by said configuration information.
- 27. A method of configuring a client-server network having server resources and a plurality of client devices, and a distributed application adapted for use thereon, comprising:
providing a first process running within said server resources, said first process configured to obtain data relating to the usage of said server resources; receiving, at said server resources, a server resource request from a client device; selecting a server within said server resources based at least in part on said data from said first process; starting a server portion of said distributed application on said selected server; downloading a client portion of said distributed application to said client device from said selected server; starting said downloaded client portion at said client device; querying said client device using said downloaded client portion to obtain configuration information relating thereto; and downloading at least one software module to said client device based at least in part on said configuration information.
- 28. A client device adapted for use on a data network, comprising:
a processor adapted to process digital data; a first software routine configured to run on said processor, said first software routine being adapted to communicate with a corresponding software routine running on a remote processing device which is in data communication with said client device, said first software routine being further adapted to be movable between said remote processing device and said client device; a second software routine configured to run on said processor, said second routine being adapted to determine information relating to the configuration of said client device and generate a data structure containing at least a portion of said information therein; a storage device adapted to store digital data, said storage device being in data communication with said processor and capable of storing said data structure; wherein said data structure may be transmitted to said remote processing machine.
- 29. The client device of claim 28, wherein said first software routine is adapted to query said second software routine to determine said information.
- 30. The client device of claim 29, wherein said query comprises an OpenCable middleware call.
- 31. A method of configuring a client device in a network having a server and at least one client device, comprising:
downloading a portion of a distributed application to said at least one client device; initiating said downloaded portion; querying said at least one client device for configuration information using at least said downloaded portion; generating said configuration information specific to said at least one client device; and re-configuring said at least one client device using said downloaded portion and said configuration information.
- 32. Apparatus, comprising:
at least one server, said server having at least one first server portion of at least one distributed software application running thereon; at least one client device, adapted for communication with said at least one first server portion via a data network, said at least one client device being further adapted to run at least one client portion of said at least one distributed software application thereon; wherein said at least one client portion is configured to determine at least a portion of the hardware configuration of said client device and transmit information regarding said at least portion to said at least one first server portion.
- 33. The apparatus of claim 32, wherein said client device comprises a second server portion running on said at least one server.
- 34. The apparatus of claim 32, wherein said client device comprises a second server portion running on a second server.
- 35. The apparatus of claim 34, wherein said second server comprises part of the same server farm as said at least one server.
- 36. The apparatus of claim 33, wherein said second server portion is configured to communicate with a second client device.
- 37. The apparatus of claim 36, wherein said second client device is adapted to receive and run at least a portion of said distributed application.
- 38. The apparatus of claim 33, wherein said second server portion communicates with said first server portion using messages transmitted from said second server portion to said at least one first server portion, said messages utilizing a predetermined communications protocol.
- 39. The apparatus of claim 36, wherein said second client device communicates with said at least one first server portion using messages transmitted from said second client device to said at least one first server portion, said messages utilizing a predetermined communications protocol.
RELATED APPLICATIONS
[0001] The present application claims priority benefit of U.S. provisional application Serial No. 60/194,953 filed Apr. 5, 2000 and entitled “Method And Apparatus For Profiling In A Distributed Application Environment”, which is incorporated herein in its entirety.
[0002] The present application is related to co-pending U.S. patent application Ser. No. 09/583,064 filed May 30, 2000 entitled “Method and Apparatus for Balancing Distributed Applications” and assigned to the Assignee hereof.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60194953 |
Apr 2000 |
US |