Overloading R language constructs with database engine constructs
First Claim
1. A computer implemented method for transparently interfacing an R client environment with a separate database engine environment, the method comprising:
- receiving, at a computer, an R language code fragment from the R client environment;
analyzing the R language code fragment to identify a first group of R language constructs;
determining computation resource requirements of at least one R language construct selected from among the first group of R language constructs;
in response to the determination of the computation resource requirements, determining whether to map a first selected R language construct from among the first group of R language constructs to the R client environment or the database engine environment, wherein mapping of the first selected R language construct is based at least in part on volume of data operated upon by the first selected R language construct and security restrictions for communications of data between the R client environment and the database engine environment; and
upon determining that the first selected R language construct should be mapped to the database engine environment, transforming the first selected R language construct into a database query language construct to be executed in the database engine environment, wherein execution of the database query language construct is subject to the security restrictions for communications of the data, execution of the database query language comprises;
identifying the database query language construct that pertains to raw data for which a R client user does not have access to for security reasons;
requesting execution of the database query language construct to access the raw data, wherein the raw data is processed at the database engine environment to generate processed data without providing the R client user direct access to the raw data; and
sending the processed data to the R client user.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, system, and computer program product for interfacing an R language client with a separate database engine environment. The method commences by interpreting an R language code fragment to identify and select R language constructs and transforming the R language constructs into queries or other database language constructs to execute within the database engine environment. The method further implements techniques for transmitting marshalled results (resulting from the execution of the database language constructs) back to the R client environment. In some situations, the marshalled results include an XML schema or DTD or another metadata description of the structure of the results. User conveniences in the form of transparent database query construction, and transparent exploitation of parallelism is achieved by determining the computation resource requirements of executable language constructs, and mapping the execution to one (or more) of, a local R client, a database engine, or a remote execution engine.
13 Citations
20 Claims
-
1. A computer implemented method for transparently interfacing an R client environment with a separate database engine environment, the method comprising:
-
receiving, at a computer, an R language code fragment from the R client environment; analyzing the R language code fragment to identify a first group of R language constructs; determining computation resource requirements of at least one R language construct selected from among the first group of R language constructs; in response to the determination of the computation resource requirements, determining whether to map a first selected R language construct from among the first group of R language constructs to the R client environment or the database engine environment, wherein mapping of the first selected R language construct is based at least in part on volume of data operated upon by the first selected R language construct and security restrictions for communications of data between the R client environment and the database engine environment; and upon determining that the first selected R language construct should be mapped to the database engine environment, transforming the first selected R language construct into a database query language construct to be executed in the database engine environment, wherein execution of the database query language construct is subject to the security restrictions for communications of the data, execution of the database query language comprises; identifying the database query language construct that pertains to raw data for which a R client user does not have access to for security reasons; requesting execution of the database query language construct to access the raw data, wherein the raw data is processed at the database engine environment to generate processed data without providing the R client user direct access to the raw data; and sending the processed data to the R client user. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer system for interfacing an R client environment with a separate database engine environment, comprising:
-
a computer processor to execute a set of program code instructions; and a memory to hold the program code instructions, in which the program code instructions comprises program code to perform; receiving, at a computer, an R language code fragment from the R client environment; analyzing the R language code fragment to identify a first group of R language constructs; determining computation resource requirements of at least one R language construct selected from among the first group of R language constructs; in response to the determination of the computation resource requirements, determining whether to map a first selected R language construct from among the first group of R language constructs to the R client environment or the database engine environment, wherein mapping of the first selected R language construct is based at least in part on volume of data operated upon by the first selected R language construct and security restrictions for communications of data between the R client environment and the database engine environment; and upon determining that the first selected R language construct should be mapped to the database engine environment, transforming the first selected R language construct into a database query language construct to be executed in the database engine environment, wherein execution of the database query language construct is subject to the security restrictions for communications of the data, execution of the database query language comprises; identifying the database query language construct that pertains to raw data for which a R client user does not have access to for security reasons; requesting execution of the database query language construct to access the raw data, wherein the raw data is processed at the database engine environment to generate processed data without providing the R client user direct access to the raw data; and sending the processed data to the R client user. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer program product embodied in a non-transitory computer readable medium, the non-transitory computer readable medium having stored thereon a sequence of instructions, which when executed by a processor causes the processor to execute a process to implement interfacing an R client environment with a separate database engine environment, the process comprising:
-
receiving, at a computer, an R language code fragment from the R client environment; analyzing the R language code fragment to identify a first group of R language constructs; determining computation resource requirements of at least one R language construct selected from among the first group of R language constructs; in response to the determination of the computation resource requirements, determining whether to map a first selected R language construct from among the first group of R language constructs to the R client environment or the database engine environment, wherein mapping of the first selected R language construct is based at least in part on volume of data operated upon by the first selected R language construct and security restrictions for communications of data between the R client environment and the database engine environment; and upon determining that the first selected R language construct should be mapped to the database engine environment, transforming the first selected R language construct into a database query language construct to be executed in the database engine environment, wherein execution of the database query language construct is subject to the security restrictions for communications of the data, execution of the database query language comprises; identifying the database query language construct that pertains to raw data for which a R client user does not have access to for security reasons; requesting execution of the database query language construct to access the raw data, wherein the raw data is processed at the database engine environment to generate processed data without providing the R client user direct access to the raw data; and sending the processed data to the R client user. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification