Remote Debugging Platform for Managed Package Code
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional debugging schemes for customized managed package code are inefficient, requiring multiple code versions and frequent transfers between developer and subscriber computers, leading to resource consumption and bandwidth issues, while also posing challenges in managing proprietary code access and versioning.
Innovation Solution
A platform allows developers to log into subscriber computers using subscriber credentials to debug executable code without transferring it, enabling real-time modifications and reducing the need for multiple code versions, while implementing access controls and licensing mechanisms to manage debugging sessions and protect proprietary interests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If conventional debugging schemes are used with multiple code versions and transfers between developer and subscriber computers, then debugging capability is provided, but resource consumption and bandwidth usage increase
Solution Approach 1:
The patent introduces a remote debugging tool that acts as an intermediary between the developer and the subscriber's data processing system. This tool allows the developer to connect to and debug code directly in the subscriber's environment without transferring code versions between systems. The remote debugging tool establishes a communication channel that enables real-time debugging while minimizing resource consumption and bandwidth usage associated with conventional code transfer methods.
2Ease of operation
If code is transferred between developer and subscriber computers for debugging, then debugging can be performed, but bandwidth usage increases
Solution Approach 1:
The remote debugging tool serves as a mediator that eliminates the need for extensive code transfers between developer and subscriber computers. Instead of transferring multiple code versions, the tool enables the developer to access and debug code directly in the subscriber's environment through a network connection, significantly reducing bandwidth consumption.
3Adaptability or versatility
If multiple versions of code are managed for debugging, then debugging flexibility is improved, but device complexity increases
Solution Approach 1:
The remote debugging tool simplifies version management by enabling direct access to the code running in the subscriber's environment. Instead of managing multiple local versions of code, the developer can interact with the actual deployed code through the remote debugging interface, reducing the complexity associated with tracking and managing multiple code versions across different systems.
4Productivity
If developer accesses subscriber code directly, then debugging efficiency improves, but security and access control challenges arise
Solution Approach 1:
The remote debugging tool acts as a secure intermediary that enables developer access to subscriber code while maintaining security controls. The tool implements authentication mechanisms where the developer logs in using subscriber credentials, and the subscriber's data processing system controls what code and resources the developer can access. This approach maintains debugging efficiency while mitigating security risks through controlled access.
Solution Approach 2:
The system implements differential access rights where the developer's access to specific code portions is controlled by the subscriber's data processing system. Different sections of code can have different access permissions, allowing the developer to debug only the necessary portions while protecting proprietary or sensitive code segments. This localized access control maintains security while enabling efficient debugging where needed.
Data Source
AI summary
A platform is provided to allow the developer to log into a subscriber's computer system by using the credential of the developer or the subscriber to view and to debug at least a portion of executable code that is used by the subscriber. The executable code used by the subscriber may be part of managed package code, at least portions of which are customized for various subscribers. Cooperative debugging may be provided between developer and subscriber with lifting of code encapsulation for the developer in the subscriber implementation. The developer and the subscriber may be granted debugging licenses each authorizing a limited number of debugging sessions, and each debugging session run by the developer may be counted against the debugging license of either the developer or the subscriber. Debugging licenses may be transferred between the developer and the subscriber.


