Claims
- 1. A discovery method for identifying member objects of one or more computer system parts in an Enterprise Information System (EIS) and for establishing at least one topographical relationship among the member objects, the discovery method being executable by one or more computers, each of the computers having one or more memories and one or more central processing units (CPU), the method comprising the steps of:
a. traversing one or more computer file systems of the EIS to find one or more of the member objects, the member objects meeting one or more selection criteria; b. for each member object found, placing a digital asset identifier of the member object in an intermediate representation, the intermediate representation being a graph with nodes and edges, each of the digital asset identifiers corresponding to one of the nodes of the graph, the edges representing the topographical relationship; c. creating a digital asset from the member object by placing the member object in a logic/data section of the digital asset and attaching an extended environment data structure to the logic/data section; d. storing the digital asset in an asset inventory container object; and e. repeating steps a through d until the intermediate representation sufficiently describes the computer system part, wherein the asset inventory container object is a sufficiently complete inventory of the digital assets of the computer system part that meet the selection criteria.
- 2. The method of claim 1, further comprising the inserted step d1 of creating an entry in an asset definition data structure, the entry having descriptions of one or more digital asset attributes of the digital asset, the asset definition data structure being a complete list of the digital assets of the computer system part that meet the selection criteria.
- 3. The method of claim 1, wherein the computer system parts include at least one of the following: a computer system, a computer sub-system, an application, a sub-application, a module, and a function.
- 4. The method of claim 1, further comprising the step of storing one or more descriptors in the extended environment data structure after the extended environment data structure is created in step C.
- 5. The method of claim 4, wherein the descriptors include one or more common descriptors to provide a unique identification of the digital asset on the multi-tiered networks.
- 6. The method of claim 5, wherein the common descriptor includes at least one of: a digital asset name of the digital asset, a unique fully qualified name of the digital asset, an address of the digital asset, a unique hash value for the digital asset, a checksum for the digital asset, and a size of the digital asset.
- 7. The method of claim 4, wherein the descriptors include one or more asset dependency descriptors.
- 8. The method of claim 7, wherein the asset dependency descriptors include any at least one of: at least one names of other digital assets on which the digital asset is dependent, an asset identifier, and one or more unique fully qualified names of other digital assets on which the digital asset is dependent.
- 9. The method of claim 4, wherein the descriptors include one or more reference descriptors.
- 10. The method of claim 9, wherein the reference descriptors include at least one of: a reference link descriptor, a reference file descriptor, and a reference directory descriptor.
- 11. The method of claim 10, wherein the reference link descriptor provides a world-wide-web (WWW) address having contents used for processing of the digital asset.
- 12. The method of claim 10, wherein the reference link descriptor provides a world-wide-web (WWW) address having contents used during execution of the digital asset.
- 13. The method of claim 10, wherein the reference directory descriptor provides an additional address information for locating one or more of the associated digital assets.
- 14. The method of claim 10, wherein the reference file descriptor is a unique fully qualified name of a file required for reference by the digital asset.
- 15. The method of claim 4, wherein the descriptors include one or more runnable descriptors for indicating that the digital asset is a runnable digital asset.
- 16. The method of claim 15, wherein one or more of the runnable descriptors include a description of a neutral execution environment, enabling dynamic targeting of the digital asset for one or more target environments.
- 17. The method of claim 15, wherein one or more of the runnable descriptors include a description of an EIS execution environment.
- 18. The method of claim 4, wherein the descriptors include one or more non-runnable descriptors for indicating that the digital asset is a non-runnable digital asset.
- 19. The method of claim 18, wherein one or more of the non-runnable descriptors include a description of an EIS execution environment.
- 20. The method of claim 18, wherein one or more of the non-runnable descriptors include a description of a neutral execution environment, enabling the dynamic targeting of the digital asset for one or more target environments.
- 21. The method of claim 2, wherein the asset definition data structure includes at least one of: an asset identification, an asset location, a URL, a name, an asset type, and a version.
- 22. A discovery system for identifying one or more member objects of one or more computer system parts of an Enterprise Information System (EIS) and for establishing at least one topographical relationship among the member objects, the system comprising:
a. a traverser to traverse one or more computer file systems to find one or more of the member objects, the member objects meeting one or more selection criteria; b. an intermediate representation builder to place, for each member object found by the traverser, a digital asset identifier in an intermediate representation, the intermediate representation being a graph with nodes and edges, the digital asset identifier corresponding to one of the nodes of the graph, the edges representing the topographical relationship; c. a digital asset creator to create a digital asset from the member object by placing the data object in a logic/data section of the digital asset and attaching an extended environment data structure to the logic/data section; and d. an inventory function to store the digital asset in an asset inventory container object.
- 23. A discovery system for identifying member objects of one or more computer system parts of an Enterprise Information System (EIS) and for establishing at least one topographical relationship among the member objects, the system comprising:
a. means for traversing one or more computer file systems to find one or more of the member objects, the member objects meeting one or more selection criteria; b. means for placing a digital asset identifier in an intermediate representation for each member object found, the intermediate representation being a graph with nodes and edges, the digital asset identifier corresponding to one of the nodes of the graph, the edges representing the topographical relationship; c. means for creating a digital asset from the member object by placing the member object in a logic/data section of the digital asset and attaching an extended environment data structure to the logic/data section; and d. means for storing the digital asset in an asset inventory container object.
- 24. A computer program product having a computer program for performing the steps of:
a. traversing one or more computer file systems to find one or more of the member objects, the member objects meeting one or more selection criteria; b. for each member object found, placing a digital asset identifier of the respective member object in an intermediate representation, the intermediate representation being a graph with nodes and edges, the digital asset identifier corresponding to one of the nodes of the graph, the edges representing the topographical relationship; c. creating a digital asset from the data object by placing the member object in a logic/data section of the digital asset and attaching an extended environment data structure to the logic/data section; and d. storing the digital asset in an asset inventory container object.
- 25. A computer memory storing a computer program for performing the steps of:
a. traversing one or more computer file systems to find one or more of the member objects, the member objects meeting one or more selection criteria; b. for each member object found, placing a digital asset identifier of the member object in an intermediate representation, the intermediate representation being a graph with nodes and edges, the digital asset identifier corresponding to one of the nodes of the graph, the edges representing the topographical relationship; c. creating a digital asset from the member object by placing the member object in a logic/data section of the digital asset and attaching an extended environment data structure to the logic/data section; and d. storing the digital asset in an asset inventory container object.
- 26. A discovery method executable by a computer with one or more memories and one or more central processing units (CPUs), the method comprising the steps of:
a. determining a starting point in a sub part of one or more application programs, the sub part of the application program having a path of execution; b. determining one or more edges of the path of execution and one or more elements of the sub part of the application program, each of the elements connected by at least one of the edges; c. placing the elements in an asset candidate list; d. classifying one or more of the elements in the asset candidate list according to an asset type; and e. determining one or more of the elements in the asset candidate list that is to be included in an asset package.
- 27. The method of claim 26, wherein the path of execution is at least one of: a call graph, an execution call graph, a dependency tree, a set of one or more hyperlinks, an expressed call graph, and an implied call graph.
- 28. The method of claim 26, wherein the edges are identified as at least one of: a hyperlink, a method call, a program call, a sub routine call, a program name in an execution list, and a call to an external program.
- 29. The method of claim 26, wherein the sub part is an entire application program.
- 30. The method of claim 29, wherein the application program is in a form of at least one of: Perl, PHP, Java, Microsoft C##, C++, ASP, Visual Basic, Delphi, Fortran, a web page, and a Java Server Page (JSP).
- 31. The method of claim 26, wherein the edges are determinable by a text search of the part of the application program.
- 32. The method of claim 26, wherein the edges are determinable by a text search of the part of a reverse engineered application program.
- 33. A discovery method executable by a computer with one or more memories and one or more central processing units (CPUs), the method comprising the steps of:
a. determining a top level page in a set of web pages, the set of web pages related to one another by a path of execution; b. determining one or more hyperlinks as edges of the path of execution and one or more elements of the sub part of the application program, each of the elements connected by at least one of the hyperlinks; c. placing the elements in an asset candidate list; d. classifying one or more of the elements in the asset candidate list according to an asset type; and e. determining one or more of the elements in the asset candidate list that is to be included in an asset package.
- 34. The method of claim 33, wherein the top-level page is a Java Server Page (JSP).
- 35. The method of claim 33, wherein the top-level page includes at least one of: HTML and Java source code.
- 36. The method of claim 33, wherein the hyperlinks are identified by a text search of the top-level page.
- 37. The method of claim 33, wherein the elements are java objects that the top-level page will instantiate.
- 38. The method of claim 37, wherein the asset types are determined by which classes of java objects are loaded by a servlet and the classes are mapped by a Java Servlet specification.
- 39. The method of claim 33, wherein one or more of the elements has a static HTML asset type.
- 40. The method of claim 35, wherein static HTML text of the static HTML asset type has one or more image tags and an additional element is created in the asset candidate list for one or more of the image tags.
- 41. The method of claim 40, wherein the image tag includes at least one of: IMG and A.
- 42. The method of claim 33, wherein one or more of the elements has an asset type of a java class file (JC).
- 43. The method of claim 42, further comprising the step of: generating an external call graph for the JC, the external call graph for the JC being a list of method calls made within a class representation of the JC.
- 44. The method of claim 43, wherein the external call graph for the JC is generated by at least one of: byte code examination and de-compilation technology.
- 45. The method of claim 44, wherein one or more of the method calls of the external call graph for the JC creates an element in the asset candidate list.
- 46. The method of claim 33, wherein one or more of the elements has a JAR file asset type.
- 47. The method of claim 46, wherein the JAR file has at least one of the following file extensions: “JAR”, “WAR”, and “EAR”.
- 48. The method of claim 46, further comprising the step of generating an external call graph for each java class in the JAR file, the external call graphs for the java classes in the JAR file being a list of JAR method calls made within a class representation of the JAR file.
- 49. The method of claim 46, wherein the external call graph for the JAR file is generated by at least one of: byte code examination and de-compilation technology.
- 50. The method of claim 33, wherein one or more of the elements has an EJB asset type.
- 51. The method of claim 50, further comprising the steps of:
f. matching a method signature against an interface of one or more of the EJB asset types; and g. adding an EJB digital asset to the asset candidate list if there is no match.
PRIORITY DOCUMENTS & RELATED REFERENCES
[0001] This application claims priority to provisional U.S. Patent Application Serial No. 60/229,685, entitled “Distributed Internet Services Provisional Filing”, filed on Sep. 1, 2000 to Chen et al. which is incorporated herein by reference in its entirety. Priority is also claimed for the following documents for any matter not disclosed in provisional U.S. Patent Application Serial No. 60/229,685 incorporated by reference above. The following references are related to this patent application and are herein incorporated by reference in their entirety:
[0002] provisional U.S. Patent Application Serial No. 60/236,864, entitled “Distributed Internet Server” to Pace et al., filed Sep. 29, 2000;
[0003] provisional U.S. Patent Application Serial No. 60/237,179, entitled “Business Plan and Business Plan Executive Summary” to Chen et al., filed Oct. 2, 2000;
[0004] provisional U.S. Patent Application Serial No. 60/254,377, entitled “Distributed Internet Services provisional filing II” to Pace et al., filed Dec. 8, 2000;
[0005] provisional U.S. Patent Application Serial No. 60/262,288, entitled “Data Structure, Architecture, Apparatus, and Program Product Capable of Being Distributed to and Executed on Different Network Tiers and on Various Computer Platforms and Environment” to Pace et al., filed Jan. 17, 2001;
[0006] U.S. patent application Ser. No. ______, entitled “Extended Environment Data Structure for Distributed Digital Assets Over Multi-tiered Computer Networks”, to Pace et al., filed Sep. 4, 2001;
[0007] U.S. patent application Ser. No. ______, entitled “Server System and Method for Discovering Digital Assets in Enterprise Information Systems”, to Bobick et al., filed Sep. 4, 2001;
[0008] U.S. patent application Ser. No. ______, entitled “Server System and Method for Exporting Digital Assets in Enterprise Information Systems”, to Pace et al., filed Sep. 4, 2001;
[0009] U.S. patent application Ser. No. ______, entitled “System and Method for Transactional Deployment J2EE Web Components, Enterprise Java Bean Components, and Application Data over Multi-tiered Computer Networks”, to Pace et al., filed on Sep. 4, 2001;
[0010] U.S. patent application Ser. No. ______, entitled “Server System and Method for Distributing and Scheduling Modules to be Executed on Different Tiers of a Network”, to Pace et al., filed Sep. 4, 2001;
[0011] U.S. patent application Ser. No. ______,entitled “Data Structure, Architecture Apparatus, and Program Product Capable of Being Distributed to and Executed on Different Network Devices and on Various Computer Platforms and Environments”, to Pace et al., filed Sep. 4, 2001;
[0012] U.S. patent application Ser. No. ______, entitled “System and Method for Distributing Assets to Multi-Tiered Network Nodes, to Pizzorni et al. filed on Sep. 4, 2001;
[0013] U.S. patent application Ser. No. ______, entitled “Method and System for Deploying An Asset Over a Multi-Tiered Network”, to Pace et al. filed on Sep. 4, 2001;
[0014] U.S. patent application Ser. No. ______, entitled “System and Method for Translating an Asset for Distribution Over Multi-Tiered Networks (Processing)” to Pace et al. filed on Sep. 4, 2001;
[0015] U.S. patent application Ser. No. ______, entitled “System and Method for Synchronizing Assets on Multi-Tiered Networks, to Pace et al. filed on Sep. 4, 2001;
[0016] U.S. patent application Ser. No. ______, entitled “Method and System for Deploying an Asset Over a Multi-Tiered Network'” to Pace et al. filed on Sep. 4, 2001;
[0017] U.S. patent application Ser. No. ______, entitled “System and Method for Adjusting the Distribution of an Asset Over a Multi-Tiered Network”, to Pace et al. filed on Sep. 4, 2001;
[0018] U.S. patent application Ser. No. ______, entitled “System and Method for Bridging Assets to Network Nodes on Multi-Tiered Networks”, to Pace et al. filed on ______;
[0019] U.S. patent application Ser. No. ______, entitled “Method and System for Deploying an Asset Over a Multi-Tiered Network”, to Pace et al. filed on Sep. 4, 2001, describing asset streaming;
[0020] U.S. patent application Ser. No. ______, entitled “System, Method, and Data Structure for Packaging Assets for Processing and Distribution on Multi-Tiered Networks”, to Bobick et al. filed on Sep. 4, 2001;
[0021] U.S. patent application Ser. No. ______, entitled System and Method for Transactional and Fault-Tolerant Distribution of Digital Assets Over Multi-Tiered Computer Networks, to Bobick et al. filed on Sep. 4, 2001;
[0022] U.S. patent application Ser. No. ______, entitled “System and Method for Collaboration Using Web Browsers”, to Chen et al. filed on Sep. 4, 2001;
[0023] PCT patent application Ser. No. ______, entitled “System and Method for Collaboration Using Web Browsers”, to Chen et al. filed on Aug. 31, 2001;
[0024] PCT patent application Ser. No. ______, entitled “System, Method, Uses, Products, Program Products, and Business Methods for Distributed Internet and Distributed Network Services”, to Chen et al. filed on Aug. 31, 2001; and
[0025] U.S. patent application Ser. No. ______, entitled “System, Method, Uses, Products, Program Products, and Business Methods for Distributed Internet and Distributed Network Services”, to Chen et al. filed on Sep. 4, 2001.
Provisional Applications (5)
|
Number |
Date |
Country |
|
60229685 |
Sep 2000 |
US |
|
60236864 |
Sep 2000 |
US |
|
60237179 |
Oct 2000 |
US |
|
60254377 |
Dec 2000 |
US |
|
60262288 |
Jan 2001 |
US |