Abstract:
The present invention is a technique of displaying in actual 3D space (i.e. not merely a 3D representation on a 2D surface) any type of diagram relating to software or integrated circuits that requires depth perception in order to be fully comprehended. The 3D space can be manipulated as desired, including but not limited to rotation, collapse/expand, and the ability of the user to enter the 3D space and view it from within.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application claims benefit of U.S. Patent application 61/849,447 filed 28 Jan. 2013, the contents of which are hereby expressly incorporated herein in their entirety for all purposes. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates generally to the projection of any kind of software or integrated circuit diagram into three-dimensional (3D) space allowing for clearer understanding of all details. 
     BACKGROUND OF THE INVENTION 
     Current 3D display of software diagrams is done using perspective drawing techniques on a two dimensional (2D) surface. An example is an exploded list of software objects (such as a table of database records). The main limitation of this approach is that each software object (e.g., database record) may be connected to additional objects (e.g. other database records) which may in turn have further connections ad infinitum (as in an object-oriented database). These complex orthogonal relationships are hard to depict on a 2D surface, making it difficult to visualize the operation of the entire system. 
     Similarly, 3D displays of integrated circuits also use perspective drawing techniques on a 2D surface. An example is a multi-layered integrated circuit. The limitation of this approach is analogous to that of software diagrams, that is complex orthogonal relationships are hard to depict on a 2D surface. 
     BRIEF SUMMARY OF THE INVENTION 
     In view of the foregoing disadvantages inherent in the known types of display of software and integrated circuit diagrams, the present invention provides a full depth 3D experience for such diagrams. The 3D effect can be created using stereoscopy (with or without 3D glasses), holograms, or any technique that projects an image into actual 3D space. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  illustrates projection of a software diagram into actual 3D space; 
         FIG. 2  illustrates a detailed view of sample 3D software diagram; and 
         FIG. 3  illustrates a detailed view of a sample 3D integrated circuit diagram. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     3D Software Diagrams 
     Turning now to the drawings,  FIG. 1  illustrates a system using stereoscopy for projecting software diagrams into actual 3D space as opposed to merely drawing a 3D perspective onto a 2D surface. 
     In  FIG. 1 , the 3D projection is achieved using stereoscopy but could also be achieved with holograms or any other technique that projects an image into actual 3D space. The user may or may not be required to wear 3D glasses depending on the mechanism that implements the 3D effect. 
     The software diagrams that are most effectively displayed using the present invention are inherently three-dimensional, i.e. information is conveyed using a vertical Z-Axis as well as the horizontal X and Y axes. 
       FIG. 2  is an example of such a 3D software diagram.  FIG. 2  is an abstract representation of objects (for example, functional objects) that map to a series of other objects in response to an operation of a mapping element and each of the objects in the mapped-to series can in turn map to an additional series of objects. Concrete examples are (1) an object-oriented database, i.e. a database where each record in a table points to a table of other records each of which may point to additional tables; (2) lists of objects currently in memory and their interrelationships. The present invention will project this diagram into actual 3D space. 
     A second type of 3D software diagram well-suited to the present invention is one that illustrates the execution of a “parallel programming” application. The diagram would display, for example, the operation of concurrent processes, threads, and tasks as well as communications between them. 
     A third type of 3D software diagram well-suited to the present invention uses time as the third dimension. An example would be the display of variable values in a recursive function during successive calls of the function. 
     In general, all software diagrams where depth is important can benefit from being projected into actual 3D space using the present invention. 
     All of the software components in a 3D projection do not need to be displayed at once. The various components can be either not shown at all or shown collapsed with the ability to be expanded as desired. An example would be the opening of a table of database records. The present invention will allow complete “drill down” capability to allow the user to zero in on those components of interest that may be nested many layers down. 
     The 3D display can also be rotated to allow it to be viewed from any angle. 
     The user can also “enter” the display so that he sees the software object relationships from the inside. That is, the user can “wander” throughout the structures as if he were inside a building. This effect may or may not require 3D glasses. 
     The above techniques of display manipulation are not the only ones possible but serve as an illustration. 
     As an application executes, the 3D display can change in real-time in order to reflect changes in the application&#39;s state. For example, in an object-oriented data base, the user can watch software objects as they get populated using both eager and lazy loading. It would also be possible to view intermediate results of certain operations such as nested joins in a database query. Viewing dynamically the internal workings in 3D, especially from within, would help reveal bottlenecks and other design flaws. These are some but not all the real-time viewing scenarios that are possible. 
     There will also exist a “2D” mode where all the above features are available but are instead shown on a 2D surface with all the limitations of a 2D display. 
     3D Integrated Circuit Diagrams 
       FIG. 3  is an example of a 3D diagram for integrated circuits. The present invention will project this diagram into actual 3D space, allowing all the circuitry with its vertical and horizontal interconnects to be viewed without the obfuscation of 2D perspective. 
     This projection would be analogous to the projection of software diagrams. That is, the projection could be implemented with stereoscopy as shown in  FIG. 1  or be achieved with holograms or any other technique that projects an image into actual 3D space. The user may or may not be required to wear 3D glasses depending on the mechanism that implements the 3D effect. 
     Just as in the 3D software diagrams, all the components of the 3D integrated circuit do not need to be displayed at once. It will be possible to collapse certain components and then “drill down” to those of interest. 
     Also like the 3D projection of software diagrams, the 3D diagram can be rotated or viewed from any angle. The diagram, in this case the integrated circuit, can also be “entered”, allowing the user to wander throughout its structure allow the user to detect design flaws. 
     The above techniques of display manipulation are not the only ones possible but serve as an illustration. 
     It would also be possible to simulate the execution of the integrated circuit, showing the voltages at various nodes and times depending on location, lead lengths, etc. Viewing the internal workings in real 3D would allow the user to optimize the design. 
     There will also exist a “2D” mode where all the above features are available but are instead shown on a 2D surface with all the limitations of a 2D display. 
     Other Kinds of 3D Design 
     The above described approach to using 3D projection could also be applied to any form of design, such as aircraft, automobiles, ships, hand tools etc.