Code Server Edit Server Access Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software development, complex and large source code projects pose challenges in protecting intellectual property as multiple teams access and edit interdependent files, leading to visibility of sensitive portions of code, which is undesirable for organizations seeking to maintain security.

Innovation Solution

Implementing a system with a code server and an edit server where users access and edit source code through the edit server, which requests and retrieves authorized portions from the code server, ensuring access rights are enforced, and edited code is stored back on the code server, maintaining the source code directory for building purposes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If source code is stored on the same server where editing and compilation is performed, then build efficiency is improved, but access security deteriorates

Engineering Contradiction:
Improvebuild efficiencyVSAvoidaccess security
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The system divides the server into two distinct components: a code server for storing source code and an edit server for performing editing and compilation operations. This segmentation allows the code server to enforce access controls and filtering mechanisms, preventing unauthorized teams from viewing sensitive code portions, while the edit server maintains build efficiency by having direct access to the code repository.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The edit server acts as an intermediary between users and the source code stored on the code server. It receives compilation requests, retrieves necessary source code files, performs compilation operations, and returns results without requiring users to directly access the code server. This intermediary role enables implementation of access filtering and security controls on the code server while maintaining efficient build operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If all source code is made visible to users for editing, then ease of operation is improved, but intellectual property protection deteriorates

Engineering Contradiction:
Improveediting accessibilityVSAvoidintellectual property protection
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The system implements differential access rights where different user groups can access different portions of the source code based on their authorization levels. The code server applies filtering rules that allow Team A to view and edit specific modules while preventing them from accessing sensitive code in other modules. This local quality approach ensures each user group receives appropriate access to their designated code portions while protecting proprietary information.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically changes access parameters (visibility and editability of code portions) based on user identity, team affiliation, and authorization levels. The code server evaluates each access request against defined filtering rules and adjusts what code is made available accordingly. This parameter change mechanism maintains ease of operation for authorized users while preventing unauthorized access to protected intellectual property.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8151365B2Filtering access to data objects
Publication Date: 2012.04.03 CISCO TECHNOLOGY INC
  • US8151365B2 patent drawing
  • US8151365B2 patent drawing
  • US8151365B2 patent drawing

AI summary

In one embodiment, a code server and edit server are provided. The code server stores the source code. Users do not access the code server directly. Rather, an edit server is used where users can log in to the edit server and send requests to edit portions of the source code. The edit server then sends requests to the code server for requested portions of the source code. Different users may have different access-rights to portions of the code. When the request is received from the edit server, if the code server determines the user requesting the portion of the source code does not have access rights to it, then the code server does not allow the portion of code to be accessed. However, if the user does have access rights, then the portion of the source code is retrieved and sent to the edit server. The user can then edit the source code on the edit server.