US20130055204A1 - Locating isolation points in an application under multi-tenant environment - Google Patents
Locating isolation points in an application under multi-tenant environment Download PDFInfo
- Publication number
- US20130055204A1 US20130055204A1 US13/604,051 US201213604051A US2013055204A1 US 20130055204 A1 US20130055204 A1 US 20130055204A1 US 201213604051 A US201213604051 A US 201213604051A US 2013055204 A1 US2013055204 A1 US 2013055204A1
- Authority
- US
- United States
- Prior art keywords
- isolation
- point
- points
- potential
- shared
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000002955 isolation Methods 0.000 title claims abstract description 244
- 238000012216 screening Methods 0.000 claims abstract description 9
- 238000001914 filtration Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 2
- 230000004044 response Effects 0.000 claims description 2
- 230000003068 static effect Effects 0.000 description 28
- 238000000034 method Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Definitions
- the present invention relates generally to Software as a Service (SaaS), and more specifically, to a method and system for locating isolation points in an application under multi-tenant environment.
- SaaS Software as a Service
- SaaS provides software to clients in a form of services and helps software developers to attract clients by providing services. Thanks to the emergence of cloud computing, the security and reliability of SaaS are recognized and trusted by more and more enterprises.
- multi-tenancy receives more and more concerns.
- An idea of multi-tenancy is to deposit data and business processes of multiple tenants on the same server group of a SaaS service provider and use them simultaneously through isolation, confidentiality and other techniques of software and database, with a purpose to allow multiple enterprises (or multiple tenants within an enterprise) to share software and hardware resources, increase utilization rate of resources and reduce the average infrastructure and management cost shared by individual tenants.
- multi-tenancy can increase utilization rate of resources, it is prone to some problems, among which how to ensure data isolation between respective tenants is one of tough issues confronting multi-tenant applications.
- One application instance needs to support resource sharing among multiple tenants and ensure that data of multiple tenants can be isolated securely, so as to correctly run application instances of multiple tenants.
- developers of this application need to determine isolation points of application instances, wherein isolation points are resources owned by multiple tenants respectively, such as some files, static variables, databases and buffers, and they differ from shared points that are resources shared among multiple tenants.
- Conventional methods require developers to determine isolation points by manually looking up in all databases and source code, which involves a huge amount of isolation. In addition to a considerable cost of manpower, conventional methods are low-efficiency and bad-accuracy.
- an apparatus for locating isolation points in an application under multi-tenant environment includes a scanning module configured to scan the application, by using scanning rules, to obtain potential isolation points and relationships between the potential isolation points; a specifying module configured to specify at least one isolation point among the potential isolation points; and an isolation point screening module configured to screen an isolation point from the potential isolation points by using relationships between the specified at least one isolation point and the remaining potential isolation points.
- FIG. 1 illustrates a method of locating isolation points in an application under multi-tenant environment according to one embodiment of the present invention
- FIG. 2 illustrates an example of a directed graph constructed according to one embodiment of the present invention
- FIG. 3 illustrates a method of locating isolation points in an application under multi-tenant environment according to one embodiment of the present invention
- FIG. 4 illustrates a method of locating isolation points in an application under multi-tenant environment according to one embodiment of the present invention
- FIG. 5 illustrates a block diagram of an apparatus for locating isolation points in an application under multi-tenant environment according to one embodiment of the present invention.
- FIG. 6 illustrates a structural block diagram of a computer device in which embodiments of the present invention are implemented.
- FIG. 1 illustrates a method of locating isolation points in an application under multi-tenant environment according to one embodiment of the present invention.
- the method comprises: block S 101 of scanning an application, by using scanning rules, for obtaining potential isolation points and relationships between the potential isolation points; block S 102 of specifying at least one isolation points among the potential isolation points; block S 103 of screening a real isolation point by using relationships between the specified at least one isolation point and the remaining potential isolation points.
- the application is scanned by using scanning rules, in order to obtain potential isolation points and relationships between the potential isolation points.
- potential isolation points comprise an isolation point of a static variable type, an isolation point of a file type, and an isolation point of a database type.
- an isolation point of the static variable type all variable statements are found through static analysis of the application, and a keyword “static” is searched among all variable statements, whereby a static variable is found and attributes of the isolation point of the static variable type are obtained, i.e., a name and category of the static variable, a class to which the static variable belongs, and a starting position of the static variable.
- attributes of the isolation point of the static variable type it is possible to uniquely determine the isolation point of the static variable type.
- invocation of file API is found through static analysis of the application, and values returned from the API and parameters for invoking the API are analyzed to obtain attributes of the isolation point of the file type, i.e., a name and directory of the file.
- attributes of the isolation point of the file type it is possible to uniquely determine the isolation point of the file type.
- statements for creating a table structure are found through static analysis of database scripts, and the statements for creating the table structure are analyzed to obtain attributes of an isolation point of a database type, i.e., a table structure and a table name.
- attributes of the isolation point of the database type it is possible to uniquely determine the isolation point of the database type.
- Relationships between the potential isolation points as defined in scanning rules at least comprise one of an assignment relationship and a membership relationship, wherein the assignment relationship indicates that one potential isolation point is assigned to another one; and the assignment relationship comprises direct assignment, parameter passing, and function invocation returned value assignment; and the membership relationship indicates that one potential isolation point contains another one.
- potential isolation points of a static variable type, a file type and a database type have six types of relationships between them, i.e., a relationship between isolation points of a static variable type, a relationship between an isolation point of a static variable type and an isolation point of a file type, a relationship between an isolation point of a static variable type and an isolation point of a database type, a relationship between isolation points of a file type, a relationship between an isolation point of a file type and an isolation point of a database type, and a relationship between isolation points of a database type.
- six types of relationships between isolation points will be introduced below respectively.
- a relationship between potential isolation points of a static variable type comprises an assignment relationship and a membership relationship, wherein the assignment relationship indicates that a value of one static variable is assigned to another one, and comprises direct assignment, parameter passing, and function invocation returned value assignment; the membership relationship indicates that one static variable is a member of another one.
- a relationship between a potential isolation point of a static variable type and a potential isolation point of a file type comprises an assignment relationship, wherein the assignment relationship comprises: assigning content of a file to a variable; and assigning a variable to a file.
- a relationship between a potential isolation point of a static variable type and a potential isolation point of a database type comprises an assignment relationship, wherein the assignment relationship comprises: assigning content of a database to a variable; and assigning a variable to a database.
- a relationship between potential isolation points of a file type comprises an assignment relationship and a membership relationship, wherein the assignment relationship indicates that content of a file is assigned to a variable and the variable is assigned to another file, and the membership relationship indicates that one file is a sub-file of another file of a directory type.
- a relationship between a potential isolation point of a file type and a potential isolation point of a database type comprises an assignment relationship, wherein the assignment relationship indicates that content of a file is assigned to a variable and the variable is assigned to a database, or content of a database is assigned to a variable and the variable is assigned to a file.
- a relationship between potential isolation points of a database type comprises an assignment relationship, wherein the assignment relationship indicates that content of a database is assigned to a variable and the variable is assigned to the database; a relationship between potential isolation points of a database type further comprises reading and writing a database to another one by SQL (structured query language).
- SQL structured query language
- the directed graph is formed by a plurality of nodes V and at least one directed edge, wherein V denotes a set of nodes, E denotes a set of directed edges between nodes, each node denotes a potential isolation point, and a directed edge pointing from one node to another denotes the relationship between potential isolation points.
- FIG. 2 illustrates an example of a directed graph constructed according to one embodiment of the present invention.
- nodes i and j denote static variable i and j, respectively, and a directed edge pointing from node j to node i indicates that a value of static variable j is assigned to static variable i.
- At least one isolation point is specified among the potential isolation points. Developers of an application specify at least one isolation point among potential isolation points according to an application scenario of the application.
- an isolation point is screened from the potential isolation points using relationships between the specified at least one isolation point and the remaining potential isolation points. Specifically, an isolation point is determined by applying isolation point determining rules to potential isolation points in the constructed directed graph.
- the specified at least one isolation point is assigned to a potential isolation point, then it is determined that the potential isolation point is an isolation point.
- the potential isolation point is an isolation point.
- Isolation point determining rules of the embodiment of the present invention are not limited to isolation points in a direct assignment relationship, but also apply to a plurality of isolation points in a transitive assignment relationship. For example, for specified isolation point a and potential isolation points b and c, if a is assigned to b and b is assigned to c, then it can be determined that b and c are both isolation points.
- the specified at least one isolation point contains a potential isolation point, then it is determined that the potential isolation point is an isolation point.
- the potential isolation point is an isolation point.
- a and potential isolation point b that are in a membership relationship, if a contains b, then it can be determined that b is an isolation point too.
- FIG. 3 illustrates a method of locating isolation points in an application under multi-tenant environment according to one embodiment of the present invention.
- Blocks S 301 through S 303 correspond to blocks S 101 through S 103 , respectively, so they are not detailed here and for their implementation, please refer to blocks S 101 through S 103 .
- blocks S 304 through S 306 are added.
- At least one shared point is specified among the potential isolation points. Developers of an application specify at least one shared point among potential isolation points according to an application scenario of the application. In block S 305 , at least one shared point is filtered out by using relationships between the specified at least one shared point and the remaining potential isolation points.
- a potential isolation point is assigned to the shared point, then it is determined that the potential isolation point is also a shared point. For example, regarding potential isolation point b and shared point a that are in an assignment relationship, if b is assigned to a, then it can be determined that b is also a shared point.
- Shared point determining rules according to the embodiment of the present invention are not limited to shared points in a direct assignment relationship, but also apply to a plurality of shared points in a transitive assignment relationship. As an example, for specified shared point a and potential isolation points b and c, if c is assigned to b and b is assigned to a, then it can be determined that b and c are both shared points.
- a potential isolation point contains the shared point, then it is determined that the potential isolation point is a shared point. For example, for shared point a and potential isolation point b that are in a membership relationship, if b contains a, then b is also a shared point.
- block S 306 it is detected whether or not a shared point exists among screened isolation points, and the existence of a conflicting isolation point is reported in response to the detection result being yes.
- isolation points are screened using the isolation point determining rules and a shared point is filtered out by using the shared point determining rules, it is detected whether or not the shared point exists among screened isolation points. If the shared point exists, then a conflicting isolation point is reported and left for developers of the application to handle.
- FIG. 4 illustrates a method of locating isolation points in an application under multi-tenant environment according to one embodiment of the present invention.
- Blocks S 401 through S 406 correspond to blocks S 301 through S 306 , respectively, so they are not detailed here and for their detailed implementation, please refer to blocks S 301 through S 306 .
- block S 407 is added.
- a high-probability isolation point among the remaining potential isolation points are recommended to a user by calculating correlation degrees of the remaining potential isolation points with the determined isolation points.
- correlation degrees of the remaining potential isolation points with the determined isolation points are calculated using a recommendation algorithm.
- V denotes a set of nodes
- E denotes a set of directed edges between nodes.
- set V of nodes is divided into a set of isolation points V d (u 1 , u 2 . . . u n ), a set of potential isolation points V p (v 1 , v 2 . . . v m ), and a set of shared points V s (w 1 , w 2 . . . k ).
- Any potential isolation point v j is selected from the set V p of potential isolation points, and distance d (v j , u i ) between each isolation point u i in the set of isolation points V d (u 1 , u 2 . . . u n ) and a potential isolation point v j is calculated.
- Floyd-Warshall algorithm is an algorithm for solving the shortest path between any two points. Hence, Floyd-Warshall algorithm may be used to calculate the distance d (u i , v j ) between each isolation point u i in the set of isolation points V d (u 1 , u 2 . . . u n ) and potential isolation point v j .
- d k (u i , v j ) d k ⁇ 1 (u i ,x k )+d k ⁇ 1 (x k , v j ).
- the smallest value of the shortest distance d (u i , v j )(u i ⁇ V d ) between each isolation point u i in the set of isolation points V d (u 1 , u 2 . . . u n ) and potential isolation point v j as calculated by the above algorithm is selected as the distance between the set of isolation points V d (u 1 , u 2 . . . u n ) and potential isolation point v j :
- the distances D(v j ) (v j ⁇ V p ) between set V d of isolation points and all potential isolation points are calculated according to the above method, and they are presented to a user in order of magnitude of D(v j ).
- the greater D(v j ) the less probability that the potential isolation point is an isolation point.
- a list of recommended isolation points is provided to developers of an application, so that developers first look up a high-probability isolation point according to the list of recommended isolation points, thereby saving human and time costs of manual lookup.
- FIG. 5 illustrates an apparatus for locating isolation points in an application under multi-tenant environment according to one embodiment of the present invention.
- the apparatus comprises: a scanning module 501 configured to scan an application, by using scanning rules, for obtaining potential isolation points and relationships between the potential isolation points; a specifying module 502 configured to specify at least one isolation point among the potential isolation points; and an isolation point screening module 503 configured to screen isolation points from the potential isolation points by using relationships between the specified at least one isolation point and the remaining potential isolation points.
- the relationships between the potential isolation points at least comprise one of an assignment relationship and a membership relationship.
- the isolation point screening module 503 is further configured to determine a potential isolation point as the isolation point if the specified at least one isolation point is assigned to the potential isolation point.
- the isolation point screening module 503 is further configured to determine a potential isolation point as the isolation point if the specified at least one isolation point contains the potential isolation point.
- the specifying module 502 is further configured to specify at least one shared point among the potential isolation points.
- the apparatus further comprises a shared point filtering module 504 configured to filter out a shared point among the potential isolation points by using relationships between the specified at least one shared point and the remaining potential isolation points.
- the shared point filtering module 504 is further configured to determine a potential isolation point as the shared point if the potential isolation point is assigned to the specified at least one shared point. According to the embodiment of the present invention, the shared point filtering module is further configured to determine a potential isolation point as the shared point if the potential isolation point contains the specified at least one shared point.
- a conflict reporting module 505 configured to report the existence of a conflicting isolation point if it is detected that a shared point exists among the screened isolation points.
- an isolation point recommending module 506 configured to recommend to a user a high-probability isolation point among the remaining potential isolation points by calculating correlation degrees of the remaining potential isolation points with the screened isolation points.
- FIG. 6 illustrates a structural block diagram of a computer device in embodiments of the present invention may be implemented.
- the computer system as illustrated in FIG. 6 comprises: a CPU (central process unit) 601 , RAM (random access memory) 602 , ROM (read only memory) 603 , a system bus 604 , a hard drive controller 605 , a keyboard controller 606 , a serial interface controller 607 , a parallel interface controller 608 , a display controller 609 , hard drive 610 , a keyboard 611 , serial peripheral device 612 , parallel peripheral device 613 and a display 614 .
- CPU central process unit
- RAM random access memory
- ROM read only memory
- the CPU 601 , RAM 602 , ROM 603 , hard drive controller 605 , keyboard controller 606 , serial interface controller 607 , parallel interface controller 608 and display controller 609 are coupled to the system bus 604 .
- the hard drive 610 is coupled to the hard drive controller 605 .
- the keyboard 611 is coupled to the keyboard controller 606 .
- the serial peripheral device 612 is coupled to the serial interface controller 607 .
- the parallel peripheral device 613 is coupled to the parallel interface controller 608 .
- the display 614 is coupled to the display controller 609 .
- each component in FIG. 6 is publicly known in this technical field, and the structure as illustrated in FIG. 6 is conventional. Such a structure is used for not only a personal computer but also a handheld device, such as Palm PC, PDA (personal digital assistant), a mobile telephone, etc.
- a user terminal including a client module according to the present invention or implementing a server host including a web application server according to the present invention some components can be added to the structure illustrated in FIG. 6 , or some components illustrated in FIG. 6 can be omitted.
- the whole system illustrated in FIG. 6 is controlled by computer readable instructions usually stored in the hard drive 610 as software, or stored in EPROM or other nonvolatile memories.
- the software can be downloaded from the network (not shown in the figure).
- the software stored in the hard drive 610 or downloaded from the network can be uploaded to the RAM 602 and executed by the CPU 601 to perform functions determined by the software.
- FIG. 6 can support the technical solution provided according to the present invention, it is merely one example of a computer system. Those skilled in the art would readily appreciate that many other computer system designs can also realize embodiments of the present invention.
- a program defining functions of the present invention may be transferred to a data storage system or a computer system by various signal bearer media.
- the signal bearer media include, without limitation to, a non-writable storage medium (e.g., CD-ROM), a writable storage medium (e.g., a floppy, a hard disk drive, read/write CD ROM, an optical medium), and a communication medium such as a computer including Ethernet, a telephony network or the like. Therefore, it is to be understood that when such kinds of signal bearer media carry or are encoded with computer-readable instructions managing method functions of the present invention, they represent alternative embodiments of the present invention.
- the present invention may be implemented as hardware, software, firmware, or a combination thereof.
- the present invention may be implemented in a computer system in a centralized or distributed manner. In a distributed manner, different components are distributed in several interconnected computer systems. Any computer system or other apparatus which is applicable to implement the method described herein is suitable.
- the present invention is implemented as a combination of computer software and general-purpose computer hardware.
- a computer program when loaded and executed, controls the computer system to execute the method of the present invention or form the system of the present invention.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
An apparatus for locating isolation points in an application under multi-tenant environment includes a scanning module configured to scan the application, by using scanning rules, to obtain potential isolation points and relationships between the potential isolation points; a specifying module configured to specify at least one isolation point among the potential isolation points; and an isolation point screening module configured to screen an isolation point from the potential isolation points by using relationships between the specified at least one isolation point and the remaining potential isolation points.
Description
- This application is a continuation of U.S. patent application Ser. No. 13/600,619, filed Aug. 31, 2012, which claims priority to Chinese Patent Application No. 201110270231.0, filed 31 Aug. 2011, and all the benefits accruing therefrom under 35 U.S.C. §119, the contents of which in its entirety are herein incorporated by reference.
- The present invention relates generally to Software as a Service (SaaS), and more specifically, to a method and system for locating isolation points in an application under multi-tenant environment.
- With the development of Internet technology, SaaS provides software to clients in a form of services and helps software developers to attract clients by providing services. Thanks to the emergence of cloud computing, the security and reliability of SaaS are recognized and trusted by more and more enterprises. As a core technology of SaaS applications, multi-tenancy receives more and more concerns. An idea of multi-tenancy is to deposit data and business processes of multiple tenants on the same server group of a SaaS service provider and use them simultaneously through isolation, confidentiality and other techniques of software and database, with a purpose to allow multiple enterprises (or multiple tenants within an enterprise) to share software and hardware resources, increase utilization rate of resources and reduce the average infrastructure and management cost shared by individual tenants.
- Although multi-tenancy can increase utilization rate of resources, it is prone to some problems, among which how to ensure data isolation between respective tenants is one of tough issues confronting multi-tenant applications. One application instance needs to support resource sharing among multiple tenants and ensure that data of multiple tenants can be isolated securely, so as to correctly run application instances of multiple tenants. During program development and conversion (modified to a multi-tenant mode) of an application, developers of this application need to determine isolation points of application instances, wherein isolation points are resources owned by multiple tenants respectively, such as some files, static variables, databases and buffers, and they differ from shared points that are resources shared among multiple tenants. Conventional methods require developers to determine isolation points by manually looking up in all databases and source code, which involves a huge amount of isolation. In addition to a considerable cost of manpower, conventional methods are low-efficiency and bad-accuracy.
- Therefore, there is a need for a method of efficiently and accurately locating isolation points in an application under multi-tenant environment.
- In one embodiment, an apparatus for locating isolation points in an application under multi-tenant environment includes a scanning module configured to scan the application, by using scanning rules, to obtain potential isolation points and relationships between the potential isolation points; a specifying module configured to specify at least one isolation point among the potential isolation points; and an isolation point screening module configured to screen an isolation point from the potential isolation points by using relationships between the specified at least one isolation point and the remaining potential isolation points.
- Embodiments of the present invention itself, preferred embodiments, objects and advantages thereof will be better understood from the following embodiments which describe in detail a method and system for locating isolation points in an application under multi-tenant environment, with reference to the accompanying drawings, wherein:
-
FIG. 1 illustrates a method of locating isolation points in an application under multi-tenant environment according to one embodiment of the present invention; -
FIG. 2 illustrates an example of a directed graph constructed according to one embodiment of the present invention; -
FIG. 3 illustrates a method of locating isolation points in an application under multi-tenant environment according to one embodiment of the present invention; -
FIG. 4 illustrates a method of locating isolation points in an application under multi-tenant environment according to one embodiment of the present invention; -
FIG. 5 illustrates a block diagram of an apparatus for locating isolation points in an application under multi-tenant environment according to one embodiment of the present invention; and -
FIG. 6 illustrates a structural block diagram of a computer device in which embodiments of the present invention are implemented. - Hereinafter, objects and advantages of the present invention will be better understood with reference to the figures by describing a method and system for locating isolation points in an application under multi-tenant environment according to embodiments of the present invention.
-
FIG. 1 illustrates a method of locating isolation points in an application under multi-tenant environment according to one embodiment of the present invention. The method comprises: block S101 of scanning an application, by using scanning rules, for obtaining potential isolation points and relationships between the potential isolation points; block S102 of specifying at least one isolation points among the potential isolation points; block S103 of screening a real isolation point by using relationships between the specified at least one isolation point and the remaining potential isolation points. - In block S101, the application is scanned by using scanning rules, in order to obtain potential isolation points and relationships between the potential isolation points.
- First of all, scanning rules are pre-defined. The scanning rules are used for looking up potential isolation points and relationships between the potential isolation points. According to the embodiments of the present invention, potential isolation points comprise an isolation point of a static variable type, an isolation point of a file type, and an isolation point of a database type. For an isolation point of the static variable type, all variable statements are found through static analysis of the application, and a keyword “static” is searched among all variable statements, whereby a static variable is found and attributes of the isolation point of the static variable type are obtained, i.e., a name and category of the static variable, a class to which the static variable belongs, and a starting position of the static variable. By attributes of the isolation point of the static variable type, it is possible to uniquely determine the isolation point of the static variable type. For an isolation point of the file type, invocation of file API is found through static analysis of the application, and values returned from the API and parameters for invoking the API are analyzed to obtain attributes of the isolation point of the file type, i.e., a name and directory of the file. By attributes of the isolation point of the file type, it is possible to uniquely determine the isolation point of the file type. For an isolation point of a database type, statements for creating a table structure are found through static analysis of database scripts, and the statements for creating the table structure are analyzed to obtain attributes of an isolation point of a database type, i.e., a table structure and a table name. By attributes of the isolation point of the database type, it is possible to uniquely determine the isolation point of the database type.
- Relationships between the potential isolation points as defined in scanning rules at least comprise one of an assignment relationship and a membership relationship, wherein the assignment relationship indicates that one potential isolation point is assigned to another one; and the assignment relationship comprises direct assignment, parameter passing, and function invocation returned value assignment; and the membership relationship indicates that one potential isolation point contains another one.
- According to the embodiment of the present invention, potential isolation points of a static variable type, a file type and a database type have six types of relationships between them, i.e., a relationship between isolation points of a static variable type, a relationship between an isolation point of a static variable type and an isolation point of a file type, a relationship between an isolation point of a static variable type and an isolation point of a database type, a relationship between isolation points of a file type, a relationship between an isolation point of a file type and an isolation point of a database type, and a relationship between isolation points of a database type. These six types of relationships between isolation points will be introduced below respectively.
- A relationship between potential isolation points of a static variable type comprises an assignment relationship and a membership relationship, wherein the assignment relationship indicates that a value of one static variable is assigned to another one, and comprises direct assignment, parameter passing, and function invocation returned value assignment; the membership relationship indicates that one static variable is a member of another one.
- A relationship between a potential isolation point of a static variable type and a potential isolation point of a file type comprises an assignment relationship, wherein the assignment relationship comprises: assigning content of a file to a variable; and assigning a variable to a file.
- A relationship between a potential isolation point of a static variable type and a potential isolation point of a database type comprises an assignment relationship, wherein the assignment relationship comprises: assigning content of a database to a variable; and assigning a variable to a database.
- A relationship between potential isolation points of a file type comprises an assignment relationship and a membership relationship, wherein the assignment relationship indicates that content of a file is assigned to a variable and the variable is assigned to another file, and the membership relationship indicates that one file is a sub-file of another file of a directory type.
- A relationship between a potential isolation point of a file type and a potential isolation point of a database type comprises an assignment relationship, wherein the assignment relationship indicates that content of a file is assigned to a variable and the variable is assigned to a database, or content of a database is assigned to a variable and the variable is assigned to a file.
- A relationship between potential isolation points of a database type comprises an assignment relationship, wherein the assignment relationship indicates that content of a database is assigned to a variable and the variable is assigned to the database; a relationship between potential isolation points of a database type further comprises reading and writing a database to another one by SQL (structured query language).
- Codes of an application are scanned by using scanning rules, in order to obtain potential isolation points of the above types and in the above relationships. According to the embodiment of the present invention, a directed graph G=(V, E) is constructed using obtained potential isolation points and relationships between the potential isolation points. The directed graph is formed by a plurality of nodes V and at least one directed edge, wherein V denotes a set of nodes, E denotes a set of directed edges between nodes, each node denotes a potential isolation point, and a directed edge pointing from one node to another denotes the relationship between potential isolation points. For example, static variables i and j of potential isolation points are obtained by scanning program code; int i=j, so it can be determined that a relationship between static variables i and j is an assignment relationship.
FIG. 2 illustrates an example of a directed graph constructed according to one embodiment of the present invention. As illustrated in this figure, nodes i and j denote static variable i and j, respectively, and a directed edge pointing from node j to node i indicates that a value of static variable j is assigned to static variable i. - In block S102, at least one isolation point is specified among the potential isolation points. Developers of an application specify at least one isolation point among potential isolation points according to an application scenario of the application.
- In block S103, an isolation point is screened from the potential isolation points using relationships between the specified at least one isolation point and the remaining potential isolation points. Specifically, an isolation point is determined by applying isolation point determining rules to potential isolation points in the constructed directed graph.
- According to the embodiment of the present invention, if the specified at least one isolation point is assigned to a potential isolation point, then it is determined that the potential isolation point is an isolation point. For example, regarding specified isolation point a and potential isolation point b that are in an assignment relationship, if a is assigned to b and a is an isolation point, then it can be determined that b is also an isolation point. Isolation point determining rules of the embodiment of the present invention are not limited to isolation points in a direct assignment relationship, but also apply to a plurality of isolation points in a transitive assignment relationship. For example, for specified isolation point a and potential isolation points b and c, if a is assigned to b and b is assigned to c, then it can be determined that b and c are both isolation points.
- According to the embodiment of the present invention, if the specified at least one isolation point contains a potential isolation point, then it is determined that the potential isolation point is an isolation point. As an example, for specified isolation point a and potential isolation point b that are in a membership relationship, if a contains b, then it can be determined that b is an isolation point too.
-
FIG. 3 illustrates a method of locating isolation points in an application under multi-tenant environment according to one embodiment of the present invention. Blocks S301 through S303 correspond to blocks S101 through S103, respectively, so they are not detailed here and for their implementation, please refer to blocks S101 through S103. According to the embodiment of the present invention, blocks S304 through S306 are added. - In block S304, at least one shared point is specified among the potential isolation points. Developers of an application specify at least one shared point among potential isolation points according to an application scenario of the application. In block S305, at least one shared point is filtered out by using relationships between the specified at least one shared point and the remaining potential isolation points.
- According to the embodiment of the present invention, if a potential isolation point is assigned to the shared point, then it is determined that the potential isolation point is also a shared point. For example, regarding potential isolation point b and shared point a that are in an assignment relationship, if b is assigned to a, then it can be determined that b is also a shared point. Shared point determining rules according to the embodiment of the present invention are not limited to shared points in a direct assignment relationship, but also apply to a plurality of shared points in a transitive assignment relationship. As an example, for specified shared point a and potential isolation points b and c, if c is assigned to b and b is assigned to a, then it can be determined that b and c are both shared points.
- According to the embodiment of the present invention, if a potential isolation point contains the shared point, then it is determined that the potential isolation point is a shared point. For example, for shared point a and potential isolation point b that are in a membership relationship, if b contains a, then b is also a shared point.
- In block S306, it is detected whether or not a shared point exists among screened isolation points, and the existence of a conflicting isolation point is reported in response to the detection result being yes. After isolation points are screened using the isolation point determining rules and a shared point is filtered out by using the shared point determining rules, it is detected whether or not the shared point exists among screened isolation points. If the shared point exists, then a conflicting isolation point is reported and left for developers of the application to handle.
-
FIG. 4 illustrates a method of locating isolation points in an application under multi-tenant environment according to one embodiment of the present invention. Blocks S401 through S406 correspond to blocks S301 through S306, respectively, so they are not detailed here and for their detailed implementation, please refer to blocks S301 through S306. According to the embodiment of the present invention, block S407 is added. - In block S407, a high-probability isolation point among the remaining potential isolation points are recommended to a user by calculating correlation degrees of the remaining potential isolation points with the determined isolation points.
- According to the embodiment of the present invention, correlation degrees of the remaining potential isolation points with the determined isolation points are calculated using a recommendation algorithm. Suppose given directed graph G=(V, E), wherein V denotes a set of nodes, and E denotes a set of directed edges between nodes. According to the above method, set V of nodes is divided into a set of isolation points Vd(u1, u2 . . . un), a set of potential isolation points Vp(v1, v2 . . . vm), and a set of shared points Vs(w1, w2 . . . wk). Any potential isolation point vj is selected from the set Vp of potential isolation points, and distance d (vj, ui) between each isolation point ui in the set of isolation points Vd(u1, u2 . . . un) and a potential isolation point vj is calculated. Floyd-Warshall algorithm is an algorithm for solving the shortest path between any two points. Hence, Floyd-Warshall algorithm may be used to calculate the distance d (ui, vj) between each isolation point ui in the set of isolation points Vd(u1, u2 . . . un) and potential isolation point vj.
- Let V={x1, x2, . . . , xp} be all nodes in set V of nodes; let dk(ui, vj) be the length of the shortest path from ui to vj that takes a node of set {x1, x2, . . . , xk} as the intermediate node only.
- If the shortest path passes through node xk, then dk(ui, vj)=dk−1(ui,xk)+dk−1(xk, vj).
- If the shortest path does not pass through node xk, then dk(ui, vj)=dk−1(ui, vj). Therefore, dk(ui, vj)=min (dk−1(ui,xk)+dk−1(xk, vj), dk−1(ui, vj)).
- The smallest value of the shortest distance d (ui, vj)(ui∈Vd) between each isolation point ui in the set of isolation points Vd(u1, u2 . . . un) and potential isolation point vj as calculated by the above algorithm is selected as the distance between the set of isolation points Vd(u1, u2 . . . un) and potential isolation point vj:
-
D(v j)=min{d k(u i , v j)|u i ∈V d} - The distances D(vj) (vj∈Vp) between set Vd of isolation points and all potential isolation points are calculated according to the above method, and they are presented to a user in order of magnitude of D(vj). The greater D(vj), the less probability that the potential isolation point is an isolation point. In this way, a list of recommended isolation points is provided to developers of an application, so that developers first look up a high-probability isolation point according to the list of recommended isolation points, thereby saving human and time costs of manual lookup.
- Based on the same inventive concept, the present invention proposes an apparatus for locating isolation points in an application under multi-tenant environment.
FIG. 5 illustrates an apparatus for locating isolation points in an application under multi-tenant environment according to one embodiment of the present invention. The apparatus comprises: ascanning module 501 configured to scan an application, by using scanning rules, for obtaining potential isolation points and relationships between the potential isolation points; a specifyingmodule 502 configured to specify at least one isolation point among the potential isolation points; and an isolationpoint screening module 503 configured to screen isolation points from the potential isolation points by using relationships between the specified at least one isolation point and the remaining potential isolation points. - According to the embodiment of the present invention, the relationships between the potential isolation points at least comprise one of an assignment relationship and a membership relationship.
- According to the embodiment of the present invention, the isolation
point screening module 503 is further configured to determine a potential isolation point as the isolation point if the specified at least one isolation point is assigned to the potential isolation point. - According to the embodiment of the present invention, the isolation
point screening module 503 is further configured to determine a potential isolation point as the isolation point if the specified at least one isolation point contains the potential isolation point. - According to the embodiment of the present invention, the specifying
module 502 is further configured to specify at least one shared point among the potential isolation points. According to the embodiment of the present invention, the apparatus further comprises a sharedpoint filtering module 504 configured to filter out a shared point among the potential isolation points by using relationships between the specified at least one shared point and the remaining potential isolation points. - According to the embodiment of the present invention, the shared
point filtering module 504 is further configured to determine a potential isolation point as the shared point if the potential isolation point is assigned to the specified at least one shared point. According to the embodiment of the present invention, the shared point filtering module is further configured to determine a potential isolation point as the shared point if the potential isolation point contains the specified at least one shared point. - According to the embodiment of the present invention, further comprised is a
conflict reporting module 505 configured to report the existence of a conflicting isolation point if it is detected that a shared point exists among the screened isolation points. - According to the embodiment of the present invention, further comprised is an isolation
point recommending module 506 configured to recommend to a user a high-probability isolation point among the remaining potential isolation points by calculating correlation degrees of the remaining potential isolation points with the screened isolation points. -
FIG. 6 illustrates a structural block diagram of a computer device in embodiments of the present invention may be implemented. The computer system as illustrated inFIG. 6 comprises: a CPU (central process unit) 601, RAM (random access memory) 602, ROM (read only memory) 603, asystem bus 604, ahard drive controller 605, akeyboard controller 606, aserial interface controller 607, aparallel interface controller 608, adisplay controller 609,hard drive 610, akeyboard 611, serial peripheral device 612, parallel peripheral device 613 and adisplay 614. Among above components, theCPU 601,RAM 602,ROM 603,hard drive controller 605,keyboard controller 606,serial interface controller 607,parallel interface controller 608 anddisplay controller 609 are coupled to thesystem bus 604. Thehard drive 610 is coupled to thehard drive controller 605. Thekeyboard 611 is coupled to thekeyboard controller 606. The serial peripheral device 612 is coupled to theserial interface controller 607. The parallel peripheral device 613 is coupled to theparallel interface controller 608. And, thedisplay 614 is coupled to thedisplay controller 609. - The function of each component in
FIG. 6 is publicly known in this technical field, and the structure as illustrated inFIG. 6 is conventional. Such a structure is used for not only a personal computer but also a handheld device, such as Palm PC, PDA (personal digital assistant), a mobile telephone, etc. In different applications, for example, when implementing a user terminal including a client module according to the present invention or implementing a server host including a web application server according to the present invention, some components can be added to the structure illustrated inFIG. 6 , or some components illustrated inFIG. 6 can be omitted. The whole system illustrated inFIG. 6 is controlled by computer readable instructions usually stored in thehard drive 610 as software, or stored in EPROM or other nonvolatile memories. The software can be downloaded from the network (not shown in the figure). The software stored in thehard drive 610 or downloaded from the network can be uploaded to theRAM 602 and executed by theCPU 601 to perform functions determined by the software. - Although the computer system as described in
FIG. 6 can support the technical solution provided according to the present invention, it is merely one example of a computer system. Those skilled in the art would readily appreciate that many other computer system designs can also realize embodiments of the present invention. - With the method and apparatus for locating isolation points in an application according to embodiments of the present invention, it is possible to efficiently and accurately locate isolation points in an application and thereby save an enormous cost of manpower.
- As illustrative embodiments of the present invention have been described with reference to the figures, the present invention is not limited to these accurate embodiments. Those of ordinary skill in the art can make various modifications to embodiments without departing from the scope and objectives of the present invention. All variations and modifications are intended to be included in the scope of the present invention as defined by the appended claims.
- It is to be understood that at least some aspects of the present invention may be implemented as a program product alternatively. A program defining functions of the present invention may be transferred to a data storage system or a computer system by various signal bearer media. The signal bearer media include, without limitation to, a non-writable storage medium (e.g., CD-ROM), a writable storage medium (e.g., a floppy, a hard disk drive, read/write CD ROM, an optical medium), and a communication medium such as a computer including Ethernet, a telephony network or the like. Therefore, it is to be understood that when such kinds of signal bearer media carry or are encoded with computer-readable instructions managing method functions of the present invention, they represent alternative embodiments of the present invention. The present invention may be implemented as hardware, software, firmware, or a combination thereof. The present invention may be implemented in a computer system in a centralized or distributed manner. In a distributed manner, different components are distributed in several interconnected computer systems. Any computer system or other apparatus which is applicable to implement the method described herein is suitable. Preferably, the present invention is implemented as a combination of computer software and general-purpose computer hardware. In this implementation, a computer program, when loaded and executed, controls the computer system to execute the method of the present invention or form the system of the present invention.
- The description of preferred embodiments of the present invention has been presented for purposes of illustration, and is not intended to be exhaustive or intended to limit the invention to the form disclosed. Many modifications and variations are possible in view of the above teaching. It is apparent to those skilled in the art that these modifications and variations are included in the scope of the present invention as defined by the appended claims.
Claims (10)
1. An apparatus for locating isolation points in an application under multi-tenant environment, comprising:
a scanning module configured to scan the application, by using scanning rules, to obtain potential isolation points and relationships between the potential isolation points;
a specifying module configured to specify at least one isolation point among the potential isolation points; and
an isolation point screening module configured to screen an isolation point from the potential isolation points by using relationships between the specified at least one isolation point and the remaining potential isolation points.
2. The apparatus according to claim 1 , wherein the relationships between the potential isolation points comprise at least one of an assignment relationship and a membership relationship.
3. The apparatus according to claim 2 , wherein the isolation point screening module is further configured to determine a potential isolation point as an isolation point if the specified at least one isolation point is assigned to the potential isolation point.
4. The apparatus according to claim 2 , wherein the isolation point screening module is further configured to determine a potential isolation point as an isolation point if the specified at least one isolation point contains the potential isolation point.
5. The apparatus according to claim 1 , wherein the specifying module is further configured to specify at least one shared point among the potential isolation points.
6. The apparatus according to claim 5 , further comprising:
a shared point filtering module configured to filter out a shared point among the potential isolation points by using relationships between the specified at least one shared point and the remaining potential isolation points.
7. The apparatus according to claim 6 , wherein the shared point filtering module is further configured to determine a potential isolation point as the shared point if the potential isolation point is assigned to the specified at least one shared point.
8. The apparatus according to claim 6 , wherein the shared point filtering module is further configured to determine a potential isolation point as the shared point if the potential isolation point contains the specified at least one shared point.
9. The apparatus according to claim 6 , further comprising a conflict reporting module configured to detect whether or not the shared point exists among the screened isolation points; and report the existence of a conflicting isolation point in response to the detection result being yes.
10. The apparatus according to claim 1 , further comprising:
an isolation point recommending module configured to recommend to a user a high-probability isolation point among the remaining potential isolation points by calculating correlation degrees of the remaining potential isolation points with the screened isolation points.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/604,051 US20130055204A1 (en) | 2011-08-31 | 2012-09-05 | Locating isolation points in an application under multi-tenant environment |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110270231.0A CN102968593B (en) | 2011-08-31 | 2011-08-31 | The method and system of the isolating points of application program is positioned under multi-tenant environment |
CN201110270231.0 | 2011-08-31 | ||
US13/600,619 US8949787B2 (en) | 2011-08-31 | 2012-08-31 | Locating isolation points in an application under multi-tenant environment |
US13/604,051 US20130055204A1 (en) | 2011-08-31 | 2012-09-05 | Locating isolation points in an application under multi-tenant environment |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/600,619 Continuation US8949787B2 (en) | 2011-08-31 | 2012-08-31 | Locating isolation points in an application under multi-tenant environment |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130055204A1 true US20130055204A1 (en) | 2013-02-28 |
Family
ID=47745564
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/600,619 Active 2033-03-30 US8949787B2 (en) | 2011-08-31 | 2012-08-31 | Locating isolation points in an application under multi-tenant environment |
US13/604,051 Abandoned US20130055204A1 (en) | 2011-08-31 | 2012-09-05 | Locating isolation points in an application under multi-tenant environment |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/600,619 Active 2033-03-30 US8949787B2 (en) | 2011-08-31 | 2012-08-31 | Locating isolation points in an application under multi-tenant environment |
Country Status (2)
Country | Link |
---|---|
US (2) | US8949787B2 (en) |
CN (1) | CN102968593B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10997293B2 (en) * | 2015-01-26 | 2021-05-04 | Red Hat, Inc. | Container and image scanning for a platform-as-a-service system |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669946B (en) * | 2018-12-14 | 2021-11-16 | 中南设计集团(武汉)工程技术研究院有限公司 | System and method for isolating complex authority system data based on massive users |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060174223A1 (en) * | 2004-09-30 | 2006-08-03 | Muir Jeffrey D | Method and environment for associating an application with an isolation environment |
US20070028245A1 (en) * | 2005-07-26 | 2007-02-01 | Microsoft Corporation | Resource usage conflict identifier |
US20070134069A1 (en) * | 2005-12-12 | 2007-06-14 | Microsoft Corporation | Use of rules engine to build namespaces |
US20090037686A1 (en) * | 2007-07-30 | 2009-02-05 | Mendonca John J | Application inspection tool for determining a security partition |
US20100070449A1 (en) * | 2008-09-12 | 2010-03-18 | International Business Machines Corporation | Deployment pattern realization with models of computing environments |
US20100262977A1 (en) * | 2009-04-10 | 2010-10-14 | Open Invention Network Llc | System and Method for Application Isolation |
US20110088034A1 (en) * | 2009-10-09 | 2011-04-14 | International Business Machines Corporation | Method and system for managing resources |
US20110265069A1 (en) * | 2010-04-21 | 2011-10-27 | Salesforce.Com | Methods and systems for execution of tenant code in an on-demand service environment including utilization of shared resources and inline governor limit enforcement |
US20120131173A1 (en) * | 2010-11-23 | 2012-05-24 | James Michael Ferris | Systems and methods for migrating software modules into one or more clouds |
US20120159455A1 (en) * | 2010-12-16 | 2012-06-21 | Ralf Schmelter | Rating interestingness of profiling data subsets |
US20120266159A1 (en) * | 2011-03-16 | 2012-10-18 | Pankaj Risbood | Selection of Ranked Configurations |
US8429097B1 (en) * | 2009-08-12 | 2013-04-23 | Amazon Technologies, Inc. | Resource isolation using reinforcement learning and domain-specific constraints |
US20140043972A1 (en) * | 2011-04-26 | 2014-02-13 | Huawei Technologies Co., Ltd. | Service Instance Mapping Method, Apparatus and System |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6381735B1 (en) * | 1998-10-02 | 2002-04-30 | Microsoft Corporation | Dynamic classification of sections of software |
US6658652B1 (en) * | 2000-06-08 | 2003-12-02 | International Business Machines Corporation | Method and system for shadow heap memory leak detection and other heap analysis in an object-oriented environment during real-time trace processing |
WO2002073402A1 (en) * | 2001-01-05 | 2002-09-19 | Consystant Design Technologies, Inc. | Coordination synthesis for software systems |
US7210124B2 (en) * | 2003-06-16 | 2007-04-24 | Microsoft Corporation | Reformulating resources with nodes reachable from defined entry points |
US8271641B2 (en) * | 2006-10-04 | 2012-09-18 | Salesforce.Com, Inc. | Method and system for governing resource consumption in a multi-tenant system |
US10007767B1 (en) | 2007-12-21 | 2018-06-26 | EMC IP Holding Company LLC | System and method for securing tenant data on a local appliance prior to delivery to a SaaS data center hosted application service |
EP2698710A3 (en) * | 2008-02-12 | 2014-05-28 | Scrutiny, INC. | Systems and methods for information flow analysis |
US10657466B2 (en) * | 2008-05-29 | 2020-05-19 | Red Hat, Inc. | Building custom appliances in a cloud-based network |
US8931038B2 (en) * | 2009-06-19 | 2015-01-06 | Servicemesh, Inc. | System and method for a cloud computing abstraction layer |
US8356274B2 (en) | 2008-07-07 | 2013-01-15 | International Business Machines Corporation | System and methods to create a multi-tenancy software as a service application |
US8869099B2 (en) | 2008-07-28 | 2014-10-21 | Infosys Limited | System and method of enabling multi-tenancy for software as a service application |
US8615400B2 (en) | 2008-08-19 | 2013-12-24 | International Business Machines Corporation | Mapping portal applications in multi-tenant environment |
US8424059B2 (en) | 2008-09-22 | 2013-04-16 | International Business Machines Corporation | Calculating multi-tenancy resource requirements and automated tenant dynamic placement in a multi-tenant shared environment |
US9734466B2 (en) | 2008-11-11 | 2017-08-15 | Sap Se | Multi-tenancy engine |
US8271536B2 (en) | 2008-11-14 | 2012-09-18 | Microsoft Corporation | Multi-tenancy using suite of authorization manager components |
US20110126168A1 (en) | 2009-11-25 | 2011-05-26 | Crowdsource Technologies Ltd. | Cloud plarform for managing software as a service (saas) resources |
US8707264B2 (en) * | 2010-05-18 | 2014-04-22 | Salesforce.Com, Inc. | Methods and systems for testing methods in a multi-tenant database environment |
US9152470B2 (en) * | 2011-09-07 | 2015-10-06 | Imagine Communications Corp. | Systems and methods for computing applications |
US8887154B2 (en) * | 2012-09-06 | 2014-11-11 | Imagine Communications Corp. | Systems and methods for partitioning computing applications to optimize deployment resources |
US9424024B2 (en) * | 2012-09-07 | 2016-08-23 | Oracle International Corporation | System and method for elasticity management of services with a cloud computing environment |
US9342298B2 (en) * | 2013-03-14 | 2016-05-17 | Microsoft Technology Licensing, Llc | Application compatibility checking in a distributed computing environment |
US9317410B2 (en) * | 2013-03-15 | 2016-04-19 | International Business Machines Corporation | Testing functional correctness and idempotence of software automation scripts |
-
2011
- 2011-08-31 CN CN201110270231.0A patent/CN102968593B/en active Active
-
2012
- 2012-08-31 US US13/600,619 patent/US8949787B2/en active Active
- 2012-09-05 US US13/604,051 patent/US20130055204A1/en not_active Abandoned
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060174223A1 (en) * | 2004-09-30 | 2006-08-03 | Muir Jeffrey D | Method and environment for associating an application with an isolation environment |
US20070028245A1 (en) * | 2005-07-26 | 2007-02-01 | Microsoft Corporation | Resource usage conflict identifier |
US20070134069A1 (en) * | 2005-12-12 | 2007-06-14 | Microsoft Corporation | Use of rules engine to build namespaces |
US20090037686A1 (en) * | 2007-07-30 | 2009-02-05 | Mendonca John J | Application inspection tool for determining a security partition |
US20100070449A1 (en) * | 2008-09-12 | 2010-03-18 | International Business Machines Corporation | Deployment pattern realization with models of computing environments |
US20100262977A1 (en) * | 2009-04-10 | 2010-10-14 | Open Invention Network Llc | System and Method for Application Isolation |
US8429097B1 (en) * | 2009-08-12 | 2013-04-23 | Amazon Technologies, Inc. | Resource isolation using reinforcement learning and domain-specific constraints |
US20110088034A1 (en) * | 2009-10-09 | 2011-04-14 | International Business Machines Corporation | Method and system for managing resources |
US20110265069A1 (en) * | 2010-04-21 | 2011-10-27 | Salesforce.Com | Methods and systems for execution of tenant code in an on-demand service environment including utilization of shared resources and inline governor limit enforcement |
US20120131173A1 (en) * | 2010-11-23 | 2012-05-24 | James Michael Ferris | Systems and methods for migrating software modules into one or more clouds |
US20120159455A1 (en) * | 2010-12-16 | 2012-06-21 | Ralf Schmelter | Rating interestingness of profiling data subsets |
US20120266159A1 (en) * | 2011-03-16 | 2012-10-18 | Pankaj Risbood | Selection of Ranked Configurations |
US20140043972A1 (en) * | 2011-04-26 | 2014-02-13 | Huawei Technologies Co., Ltd. | Service Instance Mapping Method, Apparatus and System |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10997293B2 (en) * | 2015-01-26 | 2021-05-04 | Red Hat, Inc. | Container and image scanning for a platform-as-a-service system |
Also Published As
Publication number | Publication date |
---|---|
US20130055203A1 (en) | 2013-02-28 |
CN102968593A (en) | 2013-03-13 |
CN102968593B (en) | 2016-08-03 |
US8949787B2 (en) | 2015-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111858615B (en) | Database table generation method, system, computer system and readable storage medium | |
US20150121456A1 (en) | Exploiting trust level lifecycle events for master data to publish security events updating identity management | |
US10740164B1 (en) | Application programming interface assessment | |
US20070073691A1 (en) | Server side filtering and sorting with field level security | |
US10885114B2 (en) | Dynamic entity model generation from graph data | |
CN111382174A (en) | Multi-party data combined query method, device, server and storage medium | |
US20130185106A1 (en) | Using social media objects for content curation, management, and engagement facilitation | |
US9830385B2 (en) | Methods and apparatus for partitioning data | |
US12229311B2 (en) | Identifying sensitive data risks in cloud-based enterprise deployments based on graph analytics | |
CN103678446B (en) | Improved mode map based on Data View and database table | |
US20080163158A1 (en) | System and method for efficient development of configurable software systems in a large software development community | |
CN103177329A (en) | Rule-based determination and validation in business object processing | |
US20110131247A1 (en) | Semantic Management Of Enterprise Resourses | |
CN110674358A (en) | Enterprise information comparison analysis method and device, computer equipment and storage medium | |
US20150120697A1 (en) | System and method for analysis of a database proxy | |
KR20220153518A (en) | Target web and social media messaging based on event signals | |
US9058470B1 (en) | Actual usage analysis for advanced privilege management | |
US20170365022A1 (en) | Liquid workforce platform | |
US10824986B2 (en) | Auto-suggesting IT asset groups using clustering techniques | |
US20240241947A1 (en) | Devices, systems, and methods for standardizing and streamlining the deployment of security information and event management artifacts for multiple tenants | |
US8738628B2 (en) | Community profiling for social media | |
US8949787B2 (en) | Locating isolation points in an application under multi-tenant environment | |
CN116806337A (en) | Information matching using subgraphs | |
US12001456B2 (en) | Mutual exclusion data class analysis in data governance | |
US20200233884A1 (en) | Analyzing application behavior to determine relationships between data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: EXPRESSLY ABANDONED -- DURING EXAMINATION |