WO2017189816A1 - Method and system for developing and deploying data science transformations from a development computing environment into a production computing environment - Google Patents
Method and system for developing and deploying data science transformations from a development computing environment into a production computing environment Download PDFInfo
- Publication number
- WO2017189816A1 WO2017189816A1 PCT/US2017/029786 US2017029786W WO2017189816A1 WO 2017189816 A1 WO2017189816 A1 WO 2017189816A1 US 2017029786 W US2017029786 W US 2017029786W WO 2017189816 A1 WO2017189816 A1 WO 2017189816A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- transformation
- transformations
- macro
- data indicating
- data
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/102—Bill distribution or payments
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/20—Point-of-sale [POS] network systems
- G06Q20/207—Tax processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
Definitions
- FIG. 4 is a block diagram of an example of encapsulation with data
- computing system and “computing entity,” can denote, but are not limited to the following: systems made up of multiple virtual assets, server computing systems, workstations, desktop computing systems, mobile computing systems, database systems or storage clusters, switching systems, routers, hardware systems, communications systems, proxy systems, gateway systems, firewall systems, load balancing systems, or any devices that can be used to perform the processes and/or operations as described herein.
- communications channels and various other secure communications channels, and/or distributed computing system networks such as, but not limited to the following: a public cloud; a private cloud; a virtual private network (VPN); a subnet; any general network, communications network, or general network/communications network system; a combination of different network types; a public network; a private network; a satellite network; a cable network; or any other network capable of allowing communication between two or more assets, computing systems, and/or virtual assets, as discussed herein, and/or available or known at the time of filing, and/or as developed after the time of filing.
- VPN virtual private network
- executable code denotes a set of instructions that can executed directly by a computer's central processing unit (“CPU") and/or instructions that a software interpreter can translate into machine code.
- executable code is machine code.
- development system preserves the relationships, functionality, and characteristics of the macro- transformation, even after compilation or translation into another language, according to one embodiment.
- the text editor 111 is configured to receive source code from one or more users to enable defining, connecting, and/or defining relationships between one or more
- transformations 115 include, but are not limited to, type casting (e.g., float to integer, Boolean to integer, etc.), categorical variable conversions, principle component decomposition,
- the second atomic transformations 116 represent base classes or base definitions of data transformations in a second programming language, according to one embodiment.
- the second programming language includes, but is not limited to, one or more of Java, JSON, JavaScript, Google Protocol Buffers, and Apache Script, according to one embodiment.
- the second programming language is a target language or a language that is interpreted or executed in the production computing environment 130 to provide one or more computing or software services, according to one embodiment.
- the development computing environment 110 receives the second atomic transformations 116 from a user through the text editor 111 and/or by transferring the second atomic transformations to the development computing environment 110 over the network 101 A and/or through one or more other computer-readable media (e.g., a memory stick, a digital optical disk, etc.), according to one embodiment.
- the second atomic transformations 116 are transformations that are generally irreducible units that are written in the second programming language that is one of production programming languages (e.g., languages that the production computing environment is configured to execute to host an application or service), according to one embodiment.
- Each one of the second atomic transformations 116 are a mirror transformation of one of the first atomic transformations 115, according to one embodiment.
- each one of the second atomic transformations 116 corresponds to a single one of the first atomic transformations 115, so that there is a one-to- one correlation or association between each one of the first atomic transformations 115 and each one of the second atomic transformations, for each particular programming language, according to one embodiment.
- the hybrid library 112 includes one or more sets of second atomic transformations 116 for each target/production programming language.
- the second atomic transformations 116 may have a set of atomic transformations in each of Java, JSON, JavaScript, Google Protocol Buffers, Apache Script, and one or more other proprietary or public programming or executable languages, according to one embodiment.
- Each of the sets of second atomic transformations 116 include a one-to-one correlation with each of the first atomic transformations 115, according to one embodiment.
- the second atomic transformations 116 include configuration parameters for the production computing environment 130, such as settings for configuring a cloud computing environment. Some cloud computing environments enable or require users to configure the number of CPUs, threads, memory allocations, child processes, function definitions, handler descriptions, resource roles, and the like, in order to execute source or executable code in the production computing environment 130.
- the second atomic transformations 116 include configuration parameters for the production computing environment 130, to set up physical and/or virtual resources/assets in the production computing environment 130, to execute and/or host the macro-transformation 113, according to one embodiment.
- the operators 124 are a meta-language that enables use of the hybrid library 112 with the first programming language from the text editors 111, according to one embodiment. For example, the operators 124 receive the operand and return the results for each of the first atomic transformations 115, according to one embodiment.
- the operators 124 are defined by multiple instructions in the first programming language, like a class or a function, and are sequentially or otherwise logically connected together in source code in the first programming language, in a manner similar to any other function or class used in the first programming language, according to one embodiment.
- one of the operators 124 can be used as a shorthand to call or make use of the multiplexer transformation without writing out all of the conditional and/or logical connections, instructions, and/or commands in the first programming language that are used to define the multiplexer transformation, according to one embodiment.
- the operators 124 are shorthand notations used to call or use the first atomic transformations 115, making the first programming language a domain specific language for the production computing environment 130, according to one embodiment. Because the operators 124 are defined and used in the first programming language, to facilitate use of the first programming language, the operators 124 act as a meta-language for the first programming language, according to one embodiment.
- the hybrid library 112 enables the compiler 114 and/or other parts of the development computing environment 110 to define the relational complexities of a macro- transformation with base building blocks, to reduce the risk of functional loss of the macro- transformation after compilation or translation, according to one embodiment.
- the macro-transformation 113 represents a macro-transformation that provides a software service or that supports providing a software service from the production computing environment 130, according to one embodiment.
- Macro is an adjective meaning large-scale or overall, and macro-transformation is used to distinguish the macro-transformation from the atomic transformations, according to one embodiment.
- the macro-transformation 113 is intended to be interpreted as a combination or conglomerate of one or more less complicated transformations, according to one embodiment.
- the macro-transformation 113 includes one or more series, parallel, conditional, or otherwise logically connected atomic transformations 118, according to one embodiment.
- the development computing environment 110 includes a compiler 114 that transforms the macro-transformation source code 123 from the programming language of the development computing environment 110 (e.g., a first programming language) into a programming language of the development computing environment 110 (e.g., a first programming language) into a programming language of the development computing environment 110 (e.g., a first programming language) into a programming language of the development computing environment 110 (e.g., a first programming language) into a
- the compiler 114 receives the macro- transformation source code 123 and converts the macro-transformation source code 123 into one or more of a development environment executable code 120, a production environment source code 121, and a production environment executable code 122, according to one embodiment.
- the production environment source code 121 is a translation of the macro- transformation source code 123 into the programming language of the production computing environment 130, which preserves the intended function of the macro-transformation 113 in a different language and for execution in another computing environment, according to one embodiment.
- the compiler 114 uses the hybrid library 112 to process the macro-transformation source code 123 and to generate the production environment source code 121, in a manner that preserves the configuration and functionality of the first atomic transformations 115 that define the macro-transformation 113, according to one embodiment.
- the production environment source code 121 is source code in the programming language of the production computing environment 130 and is based on the programming language used to define the second atomic transformations 116, according to one embodiment.
- Examples of the programming language of the production computing environment 130 include, but are not limited to, Java, JSON, JavaScript, Google Protocol Buffers, and Apache Thrift, according to one embodiment.
- the production environment source code 121 can include one or more of a variety of formats and/or extensions that include, but are not limited to, .json, .js, .java, and the like, according to one embodiment.
- the programming languages of the production computing environment 130 enable the production computing environment 130 to host the macro-transformation 113 to provide services to users, and/or one or more software applications, according to one embodiment.
- the compiler 114 is configured to compile the production environment source code 121 into a production environment executable code 122, for execution in the production computing environment 130, according one to embodiment.
- the compiler 114 applies one or more of the scanner, a parser, an intermediate code generator, and/or an optimizer to convert the production environment source code 121 into the production environment executable code 122, according to one embodiment.
- the production environment executable code 122 can include one or more of a variety of formats and/or extensions that include, but are not limited to, .exe, .json, .js, .java, and the like, according to one embodiment.
- the compiler 114 injects one or more parts of the first programming language from the macro-transformation source code 123 into portions of the second programming language in the production environment source code 121, according to one embodiment.
- the regular expression portions of each atomic transformation is the bridge between the first programming language and the second programming language.
- the development computing environment 110 deploys one or more files to the production computing environment 130, according to one embodiment.
- the development computing environment 110 transfers the production environment source code 121 to the production computing environment 130 for execution to support hosting one or more services.
- the development computing environment 110 distributes/transfers the production environment executable code 122 to the production computing environment 130 for execution to host one or more software services, according to one embodiment.
- the production computing environment 130 can include one or more of a variety of configurations with respect to public access, according to one embodiment.
- the production computing environment 130 includes one or more of a distributed computing environment 131 and a centralized computing environment 132, according to one embodiment.
- the distributed computing environment 131 spreads information processing between multiple computing systems, e.g., such as cloud computing, according to one embodiment.
- the centralized computing environment 132 provides processing of operands and results for the macro-transformation 113 on a single service or on one or more centrally located computing systems, according to one embodiment.
- the distributed computing environment 131 and/or the centralized computing environment 132 execute the production environment executable code 122 to provide one or more software services based on the macro- transformation 113, according to one embodiment.
- the distributed computing environment 131 optionally includes or hosts a software system 133 to provide and/or to support one or more software services, according to one embodiment.
- the software system 133 can be, but is not limited to, one or more of a tax return preparation system, a personal financial management system, a business financial management system, media streaming system, a social network system, an advertising system, a software system that analyzes user data to determine likely user behavior/preferences, and the like.
- the centralized computing environment 132 optionally includes a software system 134 that can include one or more of the software systems or functions described for the software system 133, according to one embodiment.
- the software system 133 and/or the software system 134 are selected from a group of software systems that include, but are not limited to, one or more of a tax return preparation system, a personal financial management system, and a
- the software system 133 and/or the software system 134 apply the services of the macro-transformation to encourage users to perform one or more actions towards becoming a customer of or towards becoming a revenue generating user of the software system(s), according to one embodiment.
- the one or more actions can include, but are not limited to, performing one or more actions towards becoming a paying customer of the software system, selecting a hyperlink, reading an email message, remaining logged into a user session in the software system, progressing through one or more menus, submitting personal or financial information to the software system, filing a tax return, returning to a user session in the software system, ignoring an email message, not returning to a user session in the software system, not progressing through a user interface flow, not filing a tax return, and/or not interacting with a user interface for the software system, according to one embodiment, according to one embodiment.
- the production computing environment 130 and/or one or more of the software system 133 and the software system 134 applies one or more user characteristics to the macro- transformation 113 (e.g., the production environment source code 121 or the production environment executable code 122) to generate one or more results or recommendations used by the production computing environment to provide one or more software services, according to one embodiment.
- the user characteristics are represented by user characteristics data.
- the user characteristics data includes information gathered directly from one or more external sources such as, but not limited to, a payroll management company, state agencies, federal agencies, employers, military records, public records, private companies, and the like, according to one embodiment.
- user characteristics include, but are not limited to, data indicating user computing system characteristics (e.g., browser type, applications used, device type, operating system, etc.) , data indicating time-related information (hour of day, day of week, etc.), data indicating geographical information (latitude, longitude, designated market area region, etc.), data indicating external and independent marketing segments, data identifying an external referrer of the user (e.g., paid search, add click, targeted email, etc.), data indicating a number of visits made to a service provider website, a user's name, a Social Security number, government identification, a driver's license number, a date of birth, an address, a zip code, a home ownership status, a marital status, an annual income, a job title, an employer's address, spousal information, children's
- user computing system characteristics e.g., browser type, applications used, device type, operating system, etc.
- time-related information hour of day, day of week, etc.
- geographical information la
- the centralized computing environment 132 operates on an intranet to provide backend analytics processing for a software services provider, according to one embodiment.
- the centralized computing environment 132 executes the production environment source code 121 and/or the production environment executable code 122 by receiving data (e.g., user characteristics data) from one or more software systems (e.g., a tax return preparation system and a financial management system), determining likelihoods of one or more user behaviors or preferences, and provides the determined likelihoods to the one or more software systems, as a decision engine, according to one embodiment.
- data e.g., user characteristics data
- software systems e.g., a tax return preparation system and a financial management system
- the centralized computing environment 132 includes a content management engine (e.g., a decision engine) that receives executable versions of the macro-transformation 113, integrates the macro-transformation 113 into hardware and/or software production configurations, and provides live/production software services to customers based on the received versions of the macro-transformation 113.
- a content management engine e.g., a decision engine
- receives executable versions of the macro-transformation 113 integrates the macro-transformation 113 into hardware and/or software production configurations, and provides live/production software services to customers based on the received versions of the macro-transformation 113.
- a content management engine e.g., a decision engine
- This configuration removes the need of having software engineers verify model transformations developed by data scientists (e.g., removes a potential deployment delay), while concurrently providing a tested, robust, reliable system for integrating macro-transformation 113 and/or macro-transformation source code 123 (or a version thereof) into a live/production software service environment, according to one embodiment.
- the development computing environment 110 in combination with the production computing environment 130, as disclosed, enable faster deployment of a new or updated macro-transformation, with visibility into the intermediate model
- the production computing environment 130 uses the production environment source code 121 and/or the production environment executable code 122 to provide software services to one or more users represented by the client system 140, the client system 150, and the mobile device 160, according to one embodiment.
- the client system 140 includes a web browser 141 used to access one or more pages 142 to enable one or more users to interact with the production computing environment 130, according to one embodiment.
- the client system 150 includes a client application 151 installed on the client system 150, to enable a user to interact with the production computing environment 130, according to one embodiment.
- the client system 150 is a desktop computing system, according to one embodiment.
- the mobile device 160 includes a mobile web browser 161 and/or an application ("app") 162 for remotely accessing and interacting with the production computing environment 130, according to one embodiment.
- the mobile device 160 is a tablet, a smart phone, a laptop, a personal digital assistant, and the like, according to various embodiments.
- the client system 140, the client system 150, and the mobile device 160 are representative of one or more of a plurality of systems/devices with which users of the production computing environment 130 can use to access, interact with, and receive services from the production computing environment 130, according to one embodiment.
- the compiler 114 applies or subjects the macro-transformation source code 123 to one or more of a scanner 201, a parser 202, an intermediate code generator 203, an optimizer 204, and a first target code generator 205, according to one embodiment.
- the scanner 201 performs lexical analysis to convert sequences of characters into a sequence of tokens (e.g., strings with an identified meaning), according to one embodiment.
- the parser 202 converts the tokens into a syntax tree that is a tree representation of syntax structure of the source code, according to one embodiment.
- the intermediate code generator 203 produces an intermediate representation ("IR") of the source code for processing by the optimizer 204.
- the intermediate representation is a data structure or code and is typically independent of the target language or the source language.
- the optimizer 204 removes redundant and/or useless code and relocates computations, according to one embodiment.
- the first target code generator 205 generates assembly code, by performing register allocation, adjusts the code to reduce processor delays, and prepares the optimized code for execution in the target environment, according to one embodiment.
- the target environment for the development environment executable code 120 is the development computing
- transformations 116 that correspond to the atomic transformations of the macro-transformation source code 123, according to one embodiment.
- the production
- the environment source code generator 206 performs regular expression matching of parts of the macro-transformation source code 123 using the hybrid library 112, to identify corresponding second atomic transformations 116 in the target programming language, according to one embodiment.
- the production environment source code generator 206 receives input from one or more of the scanner 201, the parser 202, and the intermediate code generator 203 to identify which of the second atomic transformations 116 are applicable to the production environment source code 121 and to determine the configuration, logical
- the compiler 114 converts the production environment source code 121 into the production environment executable code 122, according to one embodiment.
- the compiler 114 applies or subjects the production environment source code 121 to one or more of a scanner 207, a parser 208, an intermediate code generator 209, an optimizer 210, and a second target generator 211, to produce the production environment executable code 122, according to one embodiment.
- the scanner 207, parser 208, intermediate code generator 209, and optimizer 210 perform similar functions as the scanner 201, parser 202, intermediate code generator 203, and optimizer 204, but for one or more target programming languages (e.g., the programming language for the production computing environment 130), according to one embodiment.
- the second target generator 211 performs a similar function as the first target code generator 205, but for one or more target programming languages, according to one embodiment.
- FIG. 3 includes an example of a process 300 for developing and deploying data science transformations from a development computing environment into a production computing environment, according to one embodiment.
- the process includes a number of operations that occur between a development computing environment 301, a production computing environment 302, client systems 303, and software systems 304, according to one embodiment.
- the development computing environment 301 receives first atomic transformations to define a transformations library, according to one embodiment.
- Receiving first atomic transformations includes receiving instructions from a user through a text editor, in a first programming language, according to one embodiment.
- the development computing environment 301 receives second atomic transformations to define a transformations library, according to one embodiment.
- the development computing environment 301 stores associations between the first and second atomic transformations in the transformations library, according to one embodiment. [0090] At operation 312, the development computing environment 301 defines source code for one or more macro-transformations with one or more first atomic transformations, according to one embodiment.
- the development computing environment 301 compiles the source code for the one or more macro-transformations to generate source code for the one or more macro-transformation in terms of one or more second atomic transformations, according to one embodiment.
- the development computing environment 301 delivers, to the production computing environment 302, source code and/or executable code for the one or more macro-transformation in terms of one or more second atomic transformations for the production computing environment 302, according to one embodiment.
- the production computing environment 302 receives the source code and/or executable code for the one or more macro-transformations, according to one embodiment.
- the production computing environment 302 receives operands from client systems 303 and/or software systems 304, according to one embodiment.
- the production computing environment 302 applies the one or more macro-transformations to the operands to generate results, according to one embodiment.
- the results are likelihoods or probabilities that one or more actions will occur, that one or more characteristics exist, that one or more events will occur, that a user will prefer one or more user experiences over another user experience, and the like, according to one embodiment.
- the production computing environment 302 applies the results to improve user experiences in the client systems 303 and/or operations of software systems 304, according to one embodiment.
- FIG. 4 includes an example of a diagram 400 that illustrates an example of encapsulating intermediate transformations into an example of a macro-transformation, according to one embodiment.
- the diagram 400 includes a macro-transformation 401 that is part of a process that receives an input, performs an operation on the input, compares the input to some extended markup language (“XML”) code, and provides an output.
- XML extended markup language
- the macro- transformation 401 is illustrated in an expanded view to illustrate that the macro-transformation 401 can include intermediate transformations that parse an input (with a JSON parser), perform a regular expression comparison, compare the input to a lookup table, apply the parsed input to a decision tree with lookup table results and with a regular expression comparison result, and applies the decision tree result to weight or affect a random number generator, according to one embodiment.
- Each of the intermediate transformations in the macro-transformation 401 can include one or more atomic transformations in the programming language of the development computing environment, according to one embodiment.
- FIGs. 5A and 5B illustrate an example of a functional diagram 500 for applying a hybrid library to convert a transformation in one programming language (e.g., Python) into a transformation in another programming language (e.g., Java), according to one embodiment.
- one programming language e.g., Python
- another programming language e.g., Java
- Block 502 displays instructions for importing an example of a hybrid library "hippo” and displays instructions for initializing or using one atomic transformation (e.g., a multiplexer transformation), according to one embodiment.
- the transformation or
- transformation object is an atomic transformation for performing a multiplexer operation, according to one embodiment. If the operand for the transformation is "hello”, then the multiplexer outputs "world”. If the operand for the transformation is something other than "hello”, then the multiplexer outputs "goodbye”.
- the example hybrid library "hippo" is an implementation of the hybrid library 112 that is shown in FIG. 1, according to one embodiment.
- the hybrid library provides a metalanguage (e.g., operators 124 shown in FIG. 1) for logically, operably, conditionally, or otherwise connecting one or more atomic transformations to each other in the first programming language, according to one embodiment.
- atomic transformations in block 502 include Match, Constant, and Ternary
- the hybrid library defines the multiplexer transformation in Python (e.g., the first programming language) with a number of chain ( ) and merge ( ) functions surrounding the regular expression function match ( ), according to one embodiment.
- Block 504 displays the definition of the multiplexer transformation by displaying the transformation object "x", according to one embodiment.
- Block 506 displays instructions for defining a sample operand "input”, and applies the sample transformation "x" to the operand "input”, according to one embodiment.
- Block 506 displays the results of applying the multiplexer transformation to the operand "input”, according to one embodiment.
- Block 508 displays an example instruction to compile the multiplexer transformation "x" from a first programming language (i.e., Python) into a source code file "patent.json” in a second programming language (i.e., Java), according to one embodiment.
- Block 510 displays parts of the source code file "patent.json" that is in the second programming language to show how the compiler used the hybrid library to convert the multiplexer transformation "x” from Python to Java, according to one embodiment.
- FIGs. 6A and 6B illustrate an example flow diagram of a process 600 for developing and deploying data science transformations from a development computing environment into a production computing environment, according to one embodiment.
- the process includes receiving, with one or more first computing systems, first transformation data representing one or more first transformations defined in a first programming language, the one or more first transformations operable on one or more operands to generate one or more results, wherein the one or more first computing systems are a development computing environment, according to one embodiment.
- the process includes receiving second transformation data representing one or more second transformations defined in a second programming language, the one or more second transformations operable on the one or more operands to generate the one or more results, wherein each of the one or more second transformations defined in the second programming language mirrors a corresponding one of the one or more first
- the process includes associating the first transformation data with the second transformation data in a transformations data structure to associate the one or more first transformations with the one or more second transformations, according to one embodiment.
- the process includes deploying the source code data to the one or more second computing systems to enable the one or more second computing systems to interpret and execute the macro-transformation in the second programming language to provide services to a plurality of users that is at least partially based on a functionality of the macro- transformation, wherein the one or more second computing systems are a production
- the method includes associating the first transformation data with the second transformation data in a transformations data structure to associate the one or more first transformations with the one or more second transformations, according to one embodiment.
- the method includes storing the transformations data structure to one or more sections of memory associated with the one or more computing systems, according to one embodiment.
- the method includes receiving macro- transformation data representing a macro-transformation in the first programming language, the macro-transformation being a combination of multiple ones of the one or more first
- the method includes compiling the macro- transformation data to generate source code data representing source code for the macro- transformation in the second programming language to enable deployment of the macro- transformation into one or more second computing systems while preserving a relational complexity of the combination of multiple ones of the one or more first transformations of the macro-transformation, according to one embodiment.
- Compiling the macro-transformation data at least partially includes accessing contents of the transformations data structure that is stored in the one or more sections of memory, according to one embodiment.
- the method includes compiling the macro-transformation data to generate source code data representing source code for the macro-transformation in the second programming language to enable deployment of the macro-transformation into one or more second computing systems while preserving a relational complexity of the combination of multiple ones of the one or more first transformations of the macro-transformation, according to one embodiment.
- Compiling the macro-transformation data at least partially includes accessing the hybrid library, according to one embodiment.
- the method includes deploying the source code data to the one or more second computing systems to enable the one or more second computing systems to interpret and execute the macro- transformation in the second programming language to provide services to a plurality of users that is at least partially based on a functionality of the macro-transformation, according to one embodiment.
- the one or more second computing systems are a production environment.
- the method includes compiling the macro- transformation data to generate source code data representing source code for the macro- transformation in the second programming language to enable deployment of the macro- transformation into one or more second computing systems while preserving a relational complexity of the combination of multiple ones of the one or more first transformations of the macro-transformation, according to one embodiment.
- Compiling the macro-transformation data at least partially includes accessing contents of the transformations data structure that is stored in the one or more sections of memory, according to one embodiment.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AU2017258180A AU2017258180B2 (en) | 2016-04-29 | 2017-04-27 | Method and system for developing and deploying data science transformations from a development computing environment into a production computing environment |
| EP17790407.5A EP3449361B1 (en) | 2016-04-29 | 2017-04-27 | Method and system for developing and deploying data science transformations from a development computing environment into a production computing environment |
| CA3022373A CA3022373C (en) | 2016-04-29 | 2017-04-27 | Method and system for developing and deploying data science transformations from a development computing environment into a production computing environment |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/142,650 | 2016-04-29 | ||
| US15/142,650 US9983859B2 (en) | 2016-04-29 | 2016-04-29 | Method and system for developing and deploying data science transformations from a development computing environment into a production computing environment |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017189816A1 true WO2017189816A1 (en) | 2017-11-02 |
Family
ID=60158312
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2017/029786 Ceased WO2017189816A1 (en) | 2016-04-29 | 2017-04-27 | Method and system for developing and deploying data science transformations from a development computing environment into a production computing environment |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US9983859B2 (en) |
| EP (1) | EP3449361B1 (en) |
| AU (1) | AU2017258180B2 (en) |
| CA (1) | CA3022373C (en) |
| WO (1) | WO2017189816A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20240095033A1 (en) * | 2020-11-13 | 2024-03-21 | Google Llc | Systems and methods for handling macro compatibility for documents at a storage system |
Families Citing this family (39)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9971574B2 (en) * | 2014-10-31 | 2018-05-15 | Oracle International Corporation | JSON stylesheet language transformation |
| US10204382B2 (en) | 2015-05-29 | 2019-02-12 | Intuit Inc. | Method and system for identifying users who benefit from filing itemized deductions to reduce an average time consumed for users preparing tax returns with a tax return preparation system |
| US10169828B1 (en) | 2015-07-29 | 2019-01-01 | Intuit Inc. | Method and system for applying analytics models to a tax return preparation system to determine a likelihood of receiving earned income tax credit by a user |
| US10387787B1 (en) | 2015-10-28 | 2019-08-20 | Intuit Inc. | Method and system for providing personalized user experiences to software system users |
| US10373064B2 (en) * | 2016-01-08 | 2019-08-06 | Intuit Inc. | Method and system for adjusting analytics model characteristics to reduce uncertainty in determining users' preferences for user experience options, to support providing personalized user experiences to users with a software system |
| US10861106B1 (en) | 2016-01-14 | 2020-12-08 | Intuit Inc. | Computer generated user interfaces, computerized systems and methods and articles of manufacture for personalizing standardized deduction or itemized deduction flow determinations |
| US11069001B1 (en) | 2016-01-15 | 2021-07-20 | Intuit Inc. | Method and system for providing personalized user experiences in compliance with service provider business rules |
| US11030631B1 (en) | 2016-01-29 | 2021-06-08 | Intuit Inc. | Method and system for generating user experience analytics models by unbiasing data samples to improve personalization of user experiences in a tax return preparation system |
| US10621597B2 (en) | 2016-04-15 | 2020-04-14 | Intuit Inc. | Method and system for updating analytics models that are used to dynamically and adaptively provide personalized user experiences in a software system |
| US10621677B2 (en) | 2016-04-25 | 2020-04-14 | Intuit Inc. | Method and system for applying dynamic and adaptive testing techniques to a software system to improve selection of predictive models for personalizing user experiences in the software system |
| US10346927B1 (en) | 2016-06-06 | 2019-07-09 | Intuit Inc. | Method and system for providing a personalized user experience in a tax return preparation system based on predicted life events for a user |
| US10540155B1 (en) * | 2016-08-11 | 2020-01-21 | Tibco Software Inc. | Platform-agnostic predictive models based on database management system instructions |
| US11562382B2 (en) | 2016-11-11 | 2023-01-24 | Jpmorgan Chase Bank, N.A. | System and method for providing data science as a service |
| US11367088B2 (en) | 2016-11-11 | 2022-06-21 | Jpmorgan Chase Bank, N.A. | System and method for providing data science as a service |
| US10943309B1 (en) | 2017-03-10 | 2021-03-09 | Intuit Inc. | System and method for providing a predicted tax refund range based on probabilistic calculation |
| US10725745B2 (en) * | 2018-05-24 | 2020-07-28 | Walmart Apollo, Llc | Systems and methods for polyglot analysis |
| CN108874387B (en) * | 2018-06-27 | 2022-05-17 | 深圳市金蝶天燕云计算股份有限公司 | Data serialization method and related equipment thereof |
| CN109200581B (en) * | 2018-07-25 | 2021-05-25 | 深圳点猫科技有限公司 | Method and electronic device for controlling game role through python code |
| CN110032674A (en) * | 2019-01-31 | 2019-07-19 | 北京梆梆安全科技有限公司 | Data extraction method, device, server and storage medium |
| US11922140B2 (en) * | 2019-04-05 | 2024-03-05 | Oracle International Corporation | Platform for integrating back-end data analysis tools using schema |
| CN110096499B (en) * | 2019-04-10 | 2021-08-10 | 华南理工大学 | User object identification method and system based on behavior time series big data |
| US11144338B2 (en) | 2019-08-20 | 2021-10-12 | Hyland Software, Inc. | Computing system for macro generation, modification, verification, and execution |
| US11204789B2 (en) | 2019-08-20 | 2021-12-21 | Hyland Software Inc. | Graphical user interface for macro generation, modification, and verification |
| US11763084B2 (en) | 2020-08-10 | 2023-09-19 | International Business Machines Corporation | Automatic formulation of data science problem statements |
| US11442703B2 (en) | 2020-09-22 | 2022-09-13 | Cisco Technology, Inc. | Domain-specific language for serverless network functions |
| US11625230B2 (en) | 2020-09-22 | 2023-04-11 | Cisco Technology, Inc. | Identifying execution environments for deploying network functions |
| US11126415B1 (en) | 2020-09-22 | 2021-09-21 | Cisco Technology, Inc. | Combining domain-specific language with general-purpose language for serverless network functions |
| CN112685050B (en) * | 2020-12-31 | 2024-12-20 | 北京配天技术有限公司 | How to deploy TensorFlow on Windows |
| US11782747B2 (en) | 2021-01-20 | 2023-10-10 | Decisionforce Llc | System and method for notebook processing to handle job execution in cross-cloud environment |
| CN113656009B (en) * | 2021-08-26 | 2024-02-02 | 五八同城信息技术有限公司 | Macro processing method, macro processing device, electronic equipment and storage medium |
| US11418394B1 (en) * | 2021-09-08 | 2022-08-16 | Cisco Technology, Inc. | Using a domain-specific language to describe network-level behavior |
| US20230102843A1 (en) * | 2021-09-27 | 2023-03-30 | Nvidia Corporation | User-configurable memory allocation |
| US11893375B2 (en) * | 2022-01-20 | 2024-02-06 | Discover Financial Services | Configurable deployment of data science environments |
| US12450044B2 (en) | 2022-01-24 | 2025-10-21 | Cognizant Technology Solutions India Pvt. Ltd. | System and method for transforming .NET framework based applications to modern frameworks |
| US20230342668A1 (en) * | 2022-04-20 | 2023-10-26 | Jpmorgan Chase Bank, N.A. | Systems and methods for providing automated data science as a service |
| CN115237415B (en) * | 2022-09-22 | 2022-12-16 | 南京雷电信息技术有限公司 | Method for realizing situation duplication under GIS platform |
| US11928569B1 (en) | 2023-06-30 | 2024-03-12 | Intuit, Inc. | Automated user experience orchestration using natural language based machine learning techniques |
| US12307291B1 (en) * | 2024-04-22 | 2025-05-20 | Sas Institute Inc. | Systems and methods for executing an analytical operation across a plurality of computer processes |
| US12400149B1 (en) | 2024-04-22 | 2025-08-26 | Sas Institute Inc. | Systems and methods for parallel exploration of a hyperparameter search space |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140068600A1 (en) * | 2012-08-29 | 2014-03-06 | International Business Machines Corporation | Providing a seamless transition for resizing virtual machines from a development environment to a production environment |
| US20140359261A1 (en) * | 2013-05-31 | 2014-12-04 | Vordel Limited | Environmentalization technique for promotion of application programming interface (api) server in lifecycle succession of deployments |
| US20160012350A1 (en) * | 2014-07-12 | 2016-01-14 | Microsoft Technology Licensing, Llc | Interoperable machine learning platform |
| US20160098804A1 (en) | 2014-10-07 | 2016-04-07 | Intuit Inc. | Method and system for using interchangeable analytics modules to provide tax return preparation systems |
| US20160103667A1 (en) * | 2014-10-14 | 2016-04-14 | Microsoft Corporation | Configuration Transform for Application Deployment |
Family Cites Families (32)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6973418B1 (en) | 2000-04-07 | 2005-12-06 | Hewlett-Packard Development Company, L.P. | Modeling decision-maker preferences using evolution based on sampled preferences |
| EP1186996B1 (en) * | 2000-09-08 | 2011-01-05 | Sun Microsystems, Inc. | Method of programming for providing polymorphism |
| US6922488B2 (en) | 2001-02-16 | 2005-07-26 | International Business Machines Corporation | Method and system for providing application launch by identifying a user via a digital camera, utilizing an edge detection algorithm |
| US20060155632A1 (en) | 2001-07-06 | 2006-07-13 | Cherkas Rod A | Automated, user specific tax analysis of investment transactions using a personal tax profile |
| US8468077B2 (en) | 2005-01-14 | 2013-06-18 | Taxnet Inc. | Distributed tax-return-preparation processing |
| US20060294084A1 (en) | 2005-06-28 | 2006-12-28 | Patel Jayendu S | Methods and apparatus for a statistical system for targeting advertisements |
| US20080071703A1 (en) | 2006-09-05 | 2008-03-20 | The Tax Co-Op, Inc. | Tax resolution process and system |
| US7992139B2 (en) * | 2006-11-29 | 2011-08-02 | International Business Machines Corporation | Method, system and program product for transforming a single language program into multiple language programs |
| US7590572B2 (en) | 2006-12-14 | 2009-09-15 | Intuit Inc. | System and method for efficient return preparation for newly-independent filers |
| US7788137B1 (en) | 2007-04-19 | 2010-08-31 | Intuit Inc. | Method and system for price variability of a service |
| US8214308B2 (en) | 2007-10-23 | 2012-07-03 | Sas Institute Inc. | Computer-implemented systems and methods for updating predictive models |
| KR101020206B1 (en) | 2008-06-16 | 2011-03-08 | 성균관대학교산학협력단 | Record medium recording user recommendation method and program for same |
| US8090794B1 (en) * | 2008-08-25 | 2012-01-03 | Intuit Inc. | Technique for customizing displayed content |
| US8768313B2 (en) | 2009-08-17 | 2014-07-01 | Digimarc Corporation | Methods and systems for image or audio recognition processing |
| US8190499B1 (en) | 2009-08-21 | 2012-05-29 | Intuit Inc. | Methods systems and articles of manufacture for collecting data for future electronic tax return |
| US8490018B2 (en) | 2009-11-17 | 2013-07-16 | International Business Machines Corporation | Prioritization of choices based on context and user history |
| US8706580B2 (en) | 2010-04-26 | 2014-04-22 | Hrb Tax Group, Inc. | Method, system, and computer program for predicting tax liabilities and benefits |
| US8407113B1 (en) | 2010-06-09 | 2013-03-26 | Intuit Inc. | Inference-based tax preparation |
| US8204805B2 (en) | 2010-10-28 | 2012-06-19 | Intuit Inc. | Instant tax return preparation |
| US8806444B1 (en) | 2011-04-07 | 2014-08-12 | Intuit Inc. | Modifying software based on tracked activities |
| US9275342B2 (en) | 2012-04-09 | 2016-03-01 | 24/7 Customer, Inc. | Method and apparatus for intent modeling and prediction |
| US20140067518A1 (en) | 2012-08-31 | 2014-03-06 | Accenture Global Services Limited | Multi-channel marketing attribution analytics |
| US9373087B2 (en) | 2012-10-25 | 2016-06-21 | Microsoft Technology Licensing, Llc | Decision tree training in machine learning |
| US9047871B2 (en) | 2012-12-12 | 2015-06-02 | At&T Intellectual Property I, L.P. | Real—time emotion tracking system |
| US20140201045A1 (en) | 2013-01-17 | 2014-07-17 | Yogish Pai | Determining local tax structures in an accounting application through user contribution |
| US9378065B2 (en) | 2013-03-15 | 2016-06-28 | Advanced Elemental Technologies, Inc. | Purposeful computing |
| US20150227962A1 (en) | 2014-02-11 | 2015-08-13 | Sears Brands, L.L.C. | A/b testing and visualization |
| US9444824B1 (en) | 2014-02-28 | 2016-09-13 | Intuit Inc. | Methods, systems, and articles of manufacture for implementing adaptive levels of assurance in a financial management system |
| US11354755B2 (en) | 2014-09-11 | 2022-06-07 | Intuit Inc. | Methods systems and articles of manufacture for using a predictive model to determine tax topics which are relevant to a taxpayer in preparing an electronic tax return |
| US10186000B2 (en) | 2015-02-24 | 2019-01-22 | Hrb Innovations, Inc. | Simplified tax interview |
| WO2017059014A1 (en) * | 2015-09-29 | 2017-04-06 | Skytree, Inc. | Interoperability of transforms under a unified platform and extensible transformation library of those interoperable transforms |
| US9648171B1 (en) | 2016-05-23 | 2017-05-09 | Intuit Inc. | Emotion recognition to match support agents with customers |
-
2016
- 2016-04-29 US US15/142,650 patent/US9983859B2/en active Active
-
2017
- 2017-04-27 WO PCT/US2017/029786 patent/WO2017189816A1/en not_active Ceased
- 2017-04-27 CA CA3022373A patent/CA3022373C/en active Active
- 2017-04-27 AU AU2017258180A patent/AU2017258180B2/en active Active
- 2017-04-27 EP EP17790407.5A patent/EP3449361B1/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140068600A1 (en) * | 2012-08-29 | 2014-03-06 | International Business Machines Corporation | Providing a seamless transition for resizing virtual machines from a development environment to a production environment |
| US20140359261A1 (en) * | 2013-05-31 | 2014-12-04 | Vordel Limited | Environmentalization technique for promotion of application programming interface (api) server in lifecycle succession of deployments |
| US20160012350A1 (en) * | 2014-07-12 | 2016-01-14 | Microsoft Technology Licensing, Llc | Interoperable machine learning platform |
| US20160098804A1 (en) | 2014-10-07 | 2016-04-07 | Intuit Inc. | Method and system for using interchangeable analytics modules to provide tax return preparation systems |
| US20160103667A1 (en) * | 2014-10-14 | 2016-04-14 | Microsoft Corporation | Configuration Transform for Application Deployment |
Non-Patent Citations (5)
| Title |
|---|
| "PredictioniO :a distributed machine learning server for practical software development", PROCEEDINGS OF THE 22ND ACM INTER. CONFERENCE ON CONFERENCE ON INFORMATION & KNOWLEDGE MANAGEMENT, CIKM '13, 1 November 2013 (2013-11-01), pages 2493 - 2496 |
| BREUKER DOMINIC: "2014 47TH HAWAII INT. CONFERENCE ON SYSTEM SCIENCES", 6 January 2014, IEEE, article "Towards Model-Driven Engineering for Big Data Analytic --An Exploratory Analysis of Domain Specific Languages for Machine Learning", pages: 758 - 767 |
| MATEI ZAHARIA ET AL.: "Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing", USENIX, USENIX, THE ADVANCED COMPUTING SYSTEM ASSOCIATION, 11 April 2013 (2013-04-11), pages 1 - 14, XP061014277 |
| MICHAEL ARMBRUST ET AL.: "Scaling spark in the real world", PROCEEDING OF THE VLDB ENDOWMENT, NEW YORK, NY, vol. 8, no. 12, 1 August 2015 (2015-08-01), pages 1840 - 1843, XP058072850, DOI: 10.14778/2824032.2824080 |
| See also references of EP3449361A4 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20240095033A1 (en) * | 2020-11-13 | 2024-03-21 | Google Llc | Systems and methods for handling macro compatibility for documents at a storage system |
| US12307254B2 (en) * | 2020-11-13 | 2025-05-20 | Google Llc | Systems and methods for handling macro compatibility for documents at a storage system |
Also Published As
| Publication number | Publication date |
|---|---|
| AU2017258180A1 (en) | 2018-11-15 |
| EP3449361A4 (en) | 2019-12-04 |
| EP3449361A1 (en) | 2019-03-06 |
| AU2017258180B2 (en) | 2020-07-30 |
| CA3022373C (en) | 2022-10-11 |
| EP3449361B1 (en) | 2022-11-23 |
| US20170315791A1 (en) | 2017-11-02 |
| CA3022373A1 (en) | 2017-11-02 |
| US9983859B2 (en) | 2018-05-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CA3022373C (en) | Method and system for developing and deploying data science transformations from a development computing environment into a production computing environment | |
| US11422778B2 (en) | Development environment for real-time dataflow programming language | |
| US11663495B2 (en) | System and method for automatic learning of functions | |
| US11288055B2 (en) | Model-based differencing to selectively generate and deploy images in a target computing environment | |
| US10628132B2 (en) | Inversion of control framework for multiple behaviors of a process | |
| CN108140007A (en) | Across deployed position safely disposing application program | |
| US20250156162A1 (en) | Resource constraint aware deep learning model optimization for serverless-based inference systems | |
| Añel et al. | Cloud and Serverless Computing for Scientists | |
| Panagou et al. | A comprehensive evaluation of IoT cloud platforms: A feature-driven review with a decision-making tool | |
| US10778709B2 (en) | Cloud-native extensibility provided to security analytics | |
| McMahon | Machine Learning Engineering with Python: Manage the production life cycle of machine learning models using MLOps with practical examples | |
| WO2025125066A1 (en) | Method for data type driven front-end rendering | |
| US12093684B2 (en) | Application transition and transformation | |
| Ren et al. | A new method for hosting and sharing MATLAB Web App | |
| US8479175B1 (en) | Mainframe-based web service development accelerator | |
| US20230359974A1 (en) | Ad-hoc application development | |
| US20230359973A1 (en) | Ad-hoc application development | |
| US20230138343A1 (en) | Version based model result explainability | |
| AU2017296397A1 (en) | System and method for automatically generating calculations for fields in compliance forms | |
| US20260017038A1 (en) | Context aware multi-stage software builds | |
| CA3033815C (en) | System and method for automatic learning of functions | |
| Dabravolski | Accelerate Deep Learning Workloads with Amazon SageMaker: Train, deploy, and scale deep learning models effectively using Amazon SageMaker | |
| Parimala et al. | Domain Sensitive Recommendation with User Item Subgroup Analysis | |
| Deeks et al. | WITSML 1.4—Enhanced Interoperability, Tested Certification and Streamlined Data Flows Alongside a New, High-Speed Data Protocol—The Next Step in Realizing True Interoperability for the Well Data Lifecycle | |
| Wilkinson | Web Computing for Bioinformatics Applications |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| ENP | Entry into the national phase |
Ref document number: 3022373 Country of ref document: CA |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2017258180 Country of ref document: AU Date of ref document: 20170427 Kind code of ref document: A |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17790407 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2017790407 Country of ref document: EP |
|
| ENP | Entry into the national phase |
Ref document number: 2017790407 Country of ref document: EP Effective date: 20181129 |