A Network-based Programming Development System

By designing a network-based programming development system, using cloud host and blockchain technology, the safe storage and efficient circulation of digital assets are realized, the problems in the security and efficiency of digital assets are solved, and the efficiency and safety of research and development are improved. sex.

CN111079097BActive Publication Date: 2025-01-24张维加
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN201811230547.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2018-10-22
Publication Date
2025-01-24
Estimated Expiration
2038-10-22

AI Technical Summary

Technical Problem

Digital assets have problems in terms of security and efficiency, are prone to stolen and attacked, and have low circulation and R&D efficiency, resulting in frequent repeated R&D phenomena.

Method used

A network -based programming development system is designed. By achieving isolation and translation at the level of files, instructions, programs, and code, using cloud hosting and blockchain technology to realize the functions of the user's obtained from seeing the non -obtained, and ensure the security of the code. And controllability.

Benefits of technology

It effectively solves the security and efficiency issues of digital assets, achieves safe storage and efficient circulation of codes, avoids repeated research and development, and improves research and development efficiency and security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111079097B_ABST
    Figure CN111079097B_ABST
Patent Text Reader

Abstract

The present invention designs a network-based programming development system, which includes a WEB IDE (or software with the same function), a cloud host (server), and a general control software and a database. Users perform programming development work on the WEB IDE, while actual compilation is performed on the cloud host (server). The server uses sandbox isolation technology to allocate an independent workspace to each user. The general controller acts as a real mapping control between the project and the code, and issues dynamic replacement instructions to the cloud host (server) for certain content executed by the user, and issues dynamic replacement for the content executed by the client, so that what the client sees is not what it gets. The pseudo code in the WEB IDE is replaced with real code according to the corresponding relationship of the mapping library when the cloud host (client) compiles, and then compiled or executed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of computer and network computing architecture, and in particular to the application and circulation of digital assets. Background Art

[0002] Today's society is becoming more and more information-based, but digital assets have two major pain points: security and efficiency.

[0003] 1. In terms of security, digital assets are easy to be stolen and attacked. The United States alone suffers from intellectual property theft losses of up to $600 billion per year. Data leaks occur frequently, involving various data types such as documents, drawings, personal information, and source code. Confidential documents, R&D source code, drawings and other core technical confidential information of enterprises and institutions can easily be leaked to the outside through active leaks by internal employees, or even fall into the hands of competitors. Traditional encryption has been basically eliminated from the market because of its slow speed, which affects its use and can leak after decryption. Although DSA data security isolation is one of the effective means of current data leakage prevention technology, it will cause users, especially software engineers, to leak in actual use.

[0004] 2. In terms of efficiency, the circulation efficiency is low and the R&D efficiency is low. Global R&D investment has reached 2 trillion US dollars each year, but 60% of it is duplicated R&D. Basically, each development team is doing independent R&D. The fundamental reason is that the source files of the development are difficult to circulate. Even in Europe and the United States, although there are a large number of open source projects, they are still far from meeting the R&D needs of various industries. Most projects are not open source, and especially important or high-quality projects rarely have open source content.

[0005] Therefore, if there is such a computing architecture that can make digital assets like sand paintings, visible but immovable, then it can solve the security and efficiency problems to a large extent. Summary of the invention

[0006] The present invention designs a network-based programming development system, which realizes isolation and translation at the levels of files, instructions, programs, codes, etc.

[0007] The system includes WEB IDE (or software with equivalent functions), cloud host (server), and general control software and database. WEB IDE (or software with equivalent functions) runs on the user side. The cloud host (server) and the general control software and database can be on the same physical server or deployed on different physical devices and connected via a wide area network or a local area network. The working principle of the system is that the client user performs programming and development work on the WEB IDE (or software with equivalent functions), while the actual compilation is performed on the cloud host (server). Storage can also be on the cloud host (server) or distributed or partially local and partially on the server. The general controller acts as the real mapping control between the project and the code, and issues dynamic replacement instructions to the cloud host (server) for certain content executed by the user, so that the user does not get what he sees. The pseudo code in the WEB IDE is transferred to the cloud host (client) and replaced with the real code according to the corresponding relationship of the mapping library when it is compiled and then compiled or executed. For the client developer, what he sees is pseudo code, which is then dynamically replaced with real code during compilation, so that the real code is not obtained by the user. See the attached manual Figure 1 .

[0008] The cloud host (server) can be a dedicated server or a distributed server node (including distributed nodes based on blockchain), see the attached manual. Figure 2 The purpose of these servers is: 1. To serve as the real storage location for R&D projects and codes; 2. To store correspondence and mapping relationships, which refers to the correspondence between pseudocode and real code; 3. The cloud host (server) receives instructions from the client WEB IDE and controls the dynamic replacement of the code executed or compiled by the client, as well as version control and permission hierarchical control.

[0009] WEB IDE (or software with the same function) passes the client's instructions to the cloud host (server), and points the real path of some or all contents of the compiler cache and intermediate files, file and registry operations, program operations, etc. to the corresponding source code, or project, or workspace, or database on the server. The cloud host (server) serves as the real storage and mapping manager of R&D projects and codes, etc., and provides dynamic replacement content for the code executed or compiled by the client. The client program performs dynamic replacement, so that the client does not get what it sees. For example, pseudo code can be inserted into WEB IDE (or software with the same function). This part of the code is not real code, but a certain reference, such as / / hook (document API, z.dll). Under normal circumstances, this should be a line of comment text. If the client computer cannot connect to the cloud host (server), the compiler will treat it as a line of comment, and no content will be added to the program. However, when this client connects to the server, this line of comment will be replaced by a line of code that fully hooks all APIs related to file operations and injects z.dll, and compiles it for execution. Except for the running and compiling stages, no matter how it is obtained, printed, displayed or edited, the client displays pseudo code. Figure 2 .

[0010] The client code of this system also includes multiple translation processes. In the system architecture, an extension chain is designed for self-extension. Its control mode is: the system processing implementation also includes multiple translation designs. For example, code ABCD is translated into pseudo code XY on the first client. Assuming that it has undergone secondary development in this process, it also includes new content EFG from the original first client user. The new code XY-EFG is then stored on the server, and then translated by this system. It is processed in the form of pseudo code XYZ on the second client, and mapped back to ABCDEFG during processing, thereby including more developer content in the process. See the attached manual Figure 3 .

[0011] The cache files on the cloud host (server) are first protected by transparent encryption. Then, instead of being written to the hard disk, a Ramdisk virtual disk storage area is created in the memory and virtualized into a virtual disk for I / O control.

[0012] Furthermore, the client also deploys screen monitoring and terminal control for special links (mainly links that may be attacked) to collect evidence, and can monitor the client screen. If the client is running under a virtual machine or is debugged externally through a virtual machine, it will be immediately collected.

[0013] The entire system also undergoes blockchain notarization, which provides distributed, permanent, and tamper-proof records of the entire system's operation process, including servers and project source entities, as well as time, MAC addresses, IP addresses, identities, etc.

[0014] Of course, the interactions between the system's WEB IDE and the cloud host (server) are encrypted.

[0015] The actual product effects of the case can be found on the following website: chain2.jiamihezi.com

[0016] Under this architecture, the operation, development, and compilation of digital assets are all virtualized and linked.

[0017] The pseudo code part is displayed locally for editing, while the real code content is compiled or run. Distributed storage on the server can also have multiple modes: 1. Split the real file into multiple copies and save them at the same time, that is, the file is not saved as a complete file on the server, but is split into multiple segments and saved separately to multiple different physical machines. Each server saves a part, or multiple different physical disks, but it is still a complete file when mapped and replaced on the client; 2. Use blockchain-style distributed storage; 3. The system's cloud host (server) isolates each user's workspace through a sandbox, one user has one sandbox, and the mapping relationship between different sandboxes is different, so files and processes are inaccessible to each other. Set a corresponding real storage area for each user (network disk or virtual disk or folder, or create a virtual storage area in the server Ramdisk), which has the effect of sharing a computing pool and dividing the computer on the same computer.

[0018] To prevent information leakage, the cloud host (server) can also implement virtualized sandboxes through inline hooks and IRP dispatch control, turning key files, programs, and system environments into mappings. The sandbox then parses all of the above mappings, and trusted programs and untrusted processes can be placed in different sandboxes, or untrusted processes can be directly excluded from the sandbox, so that malicious thieves and Trojans entering from the outside cannot obtain real files.

[0019] The advantages of the present invention are:

[0020] Feature 1: The development terminal can obtain code output and project output from other developers, improving R&D efficiency without causing any leakage or intellectual property infringement in the whole process. It also has the unique function of distributed processing and distributed application of digital assets.

[0021] Feature 2: The chain structure of the system of the present invention ensures that the results of secondary development can be reused;

[0022] Feature 3. Blockchain notarization is performed on the connectivity, distribution, and execution links during operation, and the entire operation process, including the server and project source entity, as well as time, MAC address, IP, identity, etc., is recorded in a distributed, permanent, and tamper-proof manner.

[0023] In the technical solution designed by the present invention, the client computing device can be a computer, a portable computer including a mobile phone and a tablet device, and an embedded device.

[0024] The present invention reduces the design and development work and difficulty of the client while enhancing the auxiliary and collaborative nature. The client user can also be the developer and provider of the source project on the server side, thus forming a network. All server-side projects can also share tokens and updates.

[0025] The present invention has successfully implemented a specific implementation case. As a specific implementation case, based on the above basic architecture, the implementation case also makes the following settings:

[0026] 1. The client selected a standard Windows 7 computer, installed the client WEB IDE software on it, and restarted the computer to take effect;

[0027] 2. The cloud host (server) uses three Windows Server 2008 servers and installs the server kernel sandbox to create an isolated user space sandbox for each client, as well as a management system where each user can upload, manage, distribute and control content. The storage of this example project is based on sandbox isolation and decentralized blockchain distribution. The three servers form an IPFS node network. The data is split and stored on all servers, but no server can constitute integrity. In the test, the connection between the client WEB IDE (or software with equivalent functions) and the server is not continuous. Instead, when the WEB IDE (or software with equivalent functions) is connected to the server, the server performs authentication. After the authentication is successful, a sandbox is opened on the server, and the real code or content enters the sandbox. The server sandbox is connected to the client sandbox and adapts to the same set of mapping relationships. After the communication is completed, the server sandbox is immediately shut down and hibernated, and the server is not open to non-authenticated requests;

[0028] 3. We tested the development of Visual Studio. When only the real code of Hello World was input, a large number of code functions and counting functions were output by the server by inputting the sandbox pseudo code / / sandbox_test in the client WEB IDE. The sandbox macro test was successful. The input code was only Hello World, and the others were sandbox macro comments. In theory, only Hello World would be output, but the actual result output multiple functions.

[0029] 4. In order to facilitate secondary development and code improvement, although client users cannot see the internal code and algorithm, they can improve the project through the secondary development mechanism of the sandbox macro, and all modifications are forked on the server node chain in real time;

[0030] 5. In order to facilitate the value assessment of innovative projects and original code development projects, all pseudo-code to real code translation records, dynamic code loading records, and terminal audience portraits will be recorded on the distributed server as a condition for the valuation and confirmation of digital assets;

[0031] 6. The result of mixing the pseudo code formed by the client and the real code of secondary development is provided to other clients in the form of new pseudo code, combined with other clients' new projects, and successful compilation feedback is obtained. The original development and secondary development programs are combined into the new project and compiled normally. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] Attached Figure 1 . Flowchart of this system.

[0033] Attached Figure 2 .Diagram illustrating the effects of this system.

[0034] Attached Figure 3 .Chain flow chart.

Claims

1. A network-based programming development system having the following characteristics: a. The system consists of three parts, including software equivalent to the WEB IDE function, cloud host server, and general control software and database. The software equivalent to the WEB IDE function runs on the user side. The cloud host server and the general control software and database can be deployed on the same physical server or on different physical devices and connected via a wide area network or a local area network. b. The working principle of the system is that the client user performs programming and development work on the software equivalent to the WEB IDE function, while the actual compilation is performed on the cloud host server. The storage can be either on the cloud host server or distributedly stored on some local servers. The overall control software acts as the real mapping control between the project and the code, and issues dynamic replacement instructions to the cloud host server for certain content executed by the user, so as to achieve what the user sees is not what he gets. That is, part of the pseudocode in the software equivalent to the WEB IDE function is replaced with the real code according to the corresponding relationship of the mapping library when it is passed to the cloud host client for compilation, and then compiled or executed. For the client developer, the part that is input and seen is the pseudocode, which is then dynamically replaced with the real code during compilation, so that the real code corresponding to the pseudocode is not obtained by the user.

2. A system according to claim 1, characterized in that In terms of system composition, the cloud host server is composed of a virtual machine set up on the server device, and then on the basis of the virtual machine, a multi-user workspace that does not interfere with each other is created through sandbox isolation. That is, each user corresponds to a sandbox, and the mapping relationship between files and registries between different sandboxes is different. In particular, for the Linux server system, each user corresponds to a container system.

3. According to a system of claim 1, an extension chain is designed in the system architecture for self-extension, and its control mode is: the system processing implementation also includes the design of multiple translations, the code ABCD is translated into pseudo code XY on the first client, and in this process it undergoes secondary development and includes new content EFG from the original first client user, the new code XY-EFG is then stored on the server, and then translated by this system, and processed in the second client in the form of pseudo code XYZ, which is mapped back to ABCDEFG during processing, thereby including more developer content in the process.

4. A system according to claim 1, characterized in that The cloud host server isolates each user's workspace through a sandbox to achieve virtualization, and sets up a corresponding real storage area for each user, and each corresponding virtual disk with IO control isolation, thereby achieving deep isolation between users.

5. A system according to claim 1, characterized in that The cache of each user of the system points to a virtual disk, which controls IO and implements additional control over user access through transparent encryption of the cache of files and codes. The virtual disk is a virtual disk ramdisk virtualized from memory, and stores some or all cached data in it.

6. A system according to claim 1, characterized in that On the cloud host server of the system, a virtualized sandbox is implemented through inlinehook or IRP dispatch control, so that key files, programs, and system environments become mappings that need to be parsed to correspond to their respective real contents, and the sandbox then parses the above mappings.

7. A system according to claim 1, characterized in that The connection between the client software equivalent to the WEB IDE function and the server is not continuous. Instead, when the software equivalent to the WEB IDE function connects to the server, the server performs authentication. After the authentication is successful, a sandbox is opened on the server, and the real code or content enters the sandbox. The sandbox on the server is connected to the sandbox on the client, and they adapt to the same mapping relationship. After the communication is completed, the sandbox on the server is immediately closed and hibernated, and the server is not open to non-authenticated requests.

8. A system according to claim 1, characterized in that The system performs blockchain notarization on the connectivity, distribution, and execution links during operation, and records the entire operation process, including the server and project source, as well as time, MAC address, IP, or identity in a distributed, permanent, and tamper-proof manner.

9. A system according to claim 1, characterized in that The server is distributed and stored in a blockchain architecture. The data, files, codes and scripts protected by this system are collectively referred to as sources. These sources are distributed and stored in the servers of each node in the form of blockchain. The full node stores all synchronization records, and other lightweight nodes are partially synchronized.

10. A system according to claim 1, characterized in that The server side is composed of N servers, N is greater than or equal to 2. When the code or file is redirected to the server, the code or file is split into multiple segments of data on the server side and saved to multiple different physical machines, each saving a part, but it is still complete when mapped relative to the client.

Citation Information

Patent Citations

  • Implementation method and system of automatic compilation and release

    CN105468427A

  • Host intrusion prevention system using software and user behavior analysis

    US20110023115A1

  • Integrated development environment with network-based compilation and sandboxed native machine-language capabilities

    US8281288B1

  • Software variable link device, system, and method

    WO2014187345A1

  • Remote development method and system under coordination environment

    CN102520922A