News Column

Patent Issued for Instance Management of Code in a Database

May 13, 2014



By a News Reporter-Staff News Editor at Information Technology Newsweekly -- A patent by the inventor Adler, Dustin Kurt (Rancho Cordova, CA), filed on April 19, 2011, was published online on April 29, 2014, according to news reporting originating from Alexandria, Virginia, by VerticalNews correspondents.

Patent number 8713074 is assigned to Group-A Autosports, Inc. (Norco, CA).

The following quote was obtained by the news editors from the background information supplied by the inventors: "The invention is in the field of computing systems, and more specifically in the fields of computer programming and provisioning.

"In a typical computing model source code is generated by a programmer using an editor. This source code may be configured to be interpreted at the time it is executed or compiled into executable code using a compiler. Compiled code typically executes more quickly than interpreted code because the compiling process includes parsing and syntax checking prior to execution. Compiling the code also places the code in a form (e.g., object code) that may be directly executable using an operating system.

"The compiled code is stored using a filing system, typically provided with an operating system configured to execute the compiled code. For example, the compiled code may be stored in an '.exe' file for execution within the Windows operating system. The compiled code may be linked to other files containing executable code, data or scripts. This linking may occur prior to or at the time the code is executed. When the code is executed the file system is used to identify the file within which the code is stored and this file is opened and processed by the operating system.

"There are several disadvantages to this computing model. For example, modification of the compiled code typically involves recompiling an entire source code or file thereof. If a single function, among many functions, within source code, is modified, then the entire source code, on a file-by-file basis, is recompiled. Further, specific permissions and specific software (e.g., an editor) are required to modify the source code. This can be cumbersome when the editor and code are on different computing devices.

"Databases and database programs configured to manage the databases are commonly used to store and access data. Sometimes this data is used by computer programs external to database programs. For example, an external program may use a database program to retrieve data that is then operated on by the external program. Database programs may also include 'database stored procedures' which are functions prepared by a user of the database program to operate on a database. Database stored procedures are limited to operating on stored data and are differentiated from other types of computer programs in that these procedures are run under the control of (e.g., within) the database program rather than under direct control of an external operating system.

"Compiled code is typically executed using a command line that includes a name of the compiled code, e.g., a program name, and optionally a path to the compiled code. This command line is optionally represented by a graphical icon in a graphical user interface. A command line optionally further includes parameters, sometimes referred to as switches, that are used as input to the compiled code and may be used to control operation of the compiled code. For example, the DOS command line 'CD lib' includes a program identifier 'CD' and a parameter 'lib.' The program identifier is used to identify compiled code, which in this case is configured for changing a file directory. The parameter is used to pass, to the compiled code, an identity of the directory to change to.

"Compiled code is optionally accessed over a computer network, such as the internet, using a universal resource locator (URL). For example, the URL www.xsevo.com/login.esp may be used to execute a login program hosted at xsevo.com. The URL may also be used to pass parameters to a program. For example, the URL www.xsevo.com/login.esp?lvl=high may be used to pass a value of 'high' for a parameter 'lvl' to the program login.esp. URLs and command lines may, thus, be used to provide parameters to previously established compiled code."

In addition to the background information obtained for this patent, VerticalNews journalists also obtained the inventor's summary information for this patent: "Various embodiments of the invention comprise a computing architecture in which executable code, for execution external to a database program, is stored within records of a database. The executable code is retrieved from the database at the time of execution. This executable code typically includes compiled code that is ready for execution on an operating system. In comparison to the prior art, the executable code is managed and accessed via the database program rather than merely via a file system.

"Storage of executable code within the records of a database provides a variety of advantages, some of which are provided as examples herein. For example, the code may be easier to manage in a database than a file system. The executable code can be stored with a greater degree of granularity than would normally be practical using a file system. In some embodiments, executable code is stored at a granularity such that individual functions are located in different data records of the database. In some cases this allows for the executable code to be managed, modified or otherwise manipulated at the function level rather than at the file level.

"During execution of a computer program, database queries are used to retrieve the stored code from the database. The retrieved code is then executed external to the database and supported by the operating system. The code may be executed one part at a time, each part being separately retrieved from the database. Queries are optionally used to facilitate conditional program flow. For example, a CASE statement that uses a label to direct program flow between a number of alternative paths may be implemented by a database query that uses the label as a query parameter.

"Compiled code to be executed is optionally selected using a command including a command line or universal resource locator. For example, objects within a universal resource locator may be used in forming queries on the database of compiled code. The universal resource locater can thus be used to select individual data records including particular code desired by a user. In some embodiments, objects within a command are used to directly map to data records. Some embodiments of the invention include logic configured to parse a command line or universal resource locator. This logic may be further configured to interpret a grammatical structure of the command.

"Multiple instances of compiled code, source code and/or other information are optionally stored within the database of compiled code. These instances may include different versions, have different functionality, include development and production versions, be related to different security levels, be associated with different human languages, and/or the like. Database management logic and queries executed thereon may be used to facilitate instance management.

"The ability to access different parts of computer program by accessing individual data records in which these different parts are stored may allow for external control or execution of these different parts. For example, an external scheduling program may be used to schedule execution of a subset of a computer program by executing compiled code stored in one or more of the data records according to a schedule.

"Various embodiments of the invention include a system comprising: a computing device; operating system logic configured to run on the computing device and stored on a computer readable media of the computing device; a database stored on a computer readable media and including data records configured to store compiled code of a computer program; database management logic configured for accessing the database; and code execution logic configured to retrieve the compiled code from the data records by executing one or more queries on the database management logic, and to execute the retrieved code on the operating system logic.

"Various embodiments of the invention include a method comprising: receiving a request to execute a computer program; executing a first query to identify a first database record, of a database, in which a subset of compiled code of the computer program is stored. retrieving first code from the identified first database record as a result of the first query; providing the retrieved first code to an operating system for execution; generating a second query based on a result of the execution of the retrieved first code; using the generated second query to identify a second database record, of the database, in which compiled code of the computer program is stored; retrieving the compiled code from the second database record as a result of the second query; and providing the retrieved compiled code to the operating system for execution.

"Various embodiments of the invention include a method comprising: receiving source code of a computer program, the source code comprising a plurality of functions; compiling the plurality of functions, the compiled functions being configured for execution on an operating system; storing each of the compiled plurality of functions in a separate database record; and indexing each of the separate database records using an identifier of the function stored in the database record, the identifiers being configured to select members of the plurality of functions according to program flow logic.

"Various embodiments of the invention include a system comprising: a computing device; a database stored on a computer readable medium and including data records configured to store compiled code of a computer program; database management logic configured to access the database; code execution logic configured to retrieve the compiled code from the data records by executing one or more queries on the database management logic, and to execute the retrieved code on the operating system logic; and command interpretation logic stored on a computer readable medium and configured to generate the one or more queries by interpreting a command.

"Various embodiments of the invention include a method comprising: receiving a command comprising a command line or a universal resource locator; parsing the command to generate a plurality of database queries; retrieving compiled code from a plurality of data records within a database using the plurality of database queries, different parts of the compiled code being stored in different members of the data records; and executing the retrieved compiled code external to the database in response to receiving the command.

"Various embodiments of the invention include a method comprising: reading a first object within a received command line or universal resource locator; identifying the first object as a predefined prefix configured to characterize types of one or more other objects within the received command line or universal resource locator; reading a second object with the received command line or universal resource locator; and identifying the second object as a map to a data record within a database, the data record including compiled code configured to be executed in response to receiving the received command line or universal resource locator.

"Various embodiments of the invention include a system comprising: a computing device; operating system logic configured to execute computer programs on the computing device; a database stored on a computer readable medium and including a first data record, a second data record and a third data record; code management logic configured to store a first compiled code in the first data record, to store a second compiled code in the second data record and to store a third data record in the third data record, the first compiled code and the second compiled code comprising different parts of a computer program, the second compiled code and the third compiled code comprising different instances of a part of the computer program; database management logic configured to access the database; and code execution logic configured to select one of the different instances of the compiled code and to retrieve the selected instance of the compiled code from the data records by executing one or more queries on the database using the database management logic, and to execute the retrieved instance on the operating system logic.

"Various embodiments of the invention comprise a computer readable medium having stored thereupon: logic configured to receive a code of a computer program; logic configured to divide the code into a plurality of parts; logic configured to store the plurality of parts, each in a separate record of a database; logic configured to modify a member of the plurality of parts to produce a modified instance of the member from an original instance of the member; logic configured to store the modified instance in the database; and logic configured to alternatively select the original instance or the modified instance using a database query.

"Various embodiments of the invention include a method comprising: receiving a code of a computer program; dividing the code into a plurality of parts; storing the plurality of parts, each in a separate record of a database; modifying a member of the plurality of parts to produce a modified instance of the member from an original instance of the member; storing the modified instance in the database; alternatively selecting the original instance or the modified instance using a database query; and optionally executing the selected instance.

"Various embodiments of the invention include a system comprising: a computing device configured to execute a computer program using operating system logic; a database stored on a computer readable media and including data records configured to store compiled code of the computer program as separate parts; database management logic configured for accessing the database; and scheduling logic external to the computer program and configured to request execution of a subset of the separate parts on the computing device according to a schedule."

URL and more information on this patent, see: Adler, Dustin Kurt. Instance Management of Code in a Database. U.S. Patent Number 8713074, filed April 19, 2011, and published online on April 29, 2014. Patent URL: http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&p=24&u=%2Fnetahtml%2FPTO%2Fsearch-bool.html&r=1162&f=G&l=50&co1=AND&d=PTXT&s1=20140429.PD.&OS=ISD/20140429&RS=ISD/20140429

Keywords for this news article include: Information Technology, Group-A Autosports Inc., Information and Data Management.

Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC


For more stories covering the world of technology, please see HispanicBusiness' Tech Channel



Source: Information Technology Newsweekly


Story Tools






HispanicBusiness.com Facebook Linkedin Twitter RSS Feed Email Alerts & Newsletters