US20080294669A1 - Program-Data Combining System - Google Patents

Program-Data Combining System Download PDF

Info

Publication number
US20080294669A1
US20080294669A1 US12/121,394 US12139408A US2008294669A1 US 20080294669 A1 US20080294669 A1 US 20080294669A1 US 12139408 A US12139408 A US 12139408A US 2008294669 A1 US2008294669 A1 US 2008294669A1
Authority
US
United States
Prior art keywords
program
data
combine
request
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/121,394
Inventor
Sarukkai R. Narayanan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US12/121,394 priority Critical patent/US20080294669A1/en
Publication of US20080294669A1 publication Critical patent/US20080294669A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems

Definitions

  • the present invention relates generally to a program-data combining system. More specifically, but not by way of limitation, the invention relates to storage and retrieval of programs and data as a single unit.
  • Programs are a set of instructions developed to accomplish a certain objective. Generally, programs operate on input data and stored data to accomplish the desired result. The output data produced as a result is either stored or provides instructions to external device(s) for further action.
  • the bifurcation between programs and data provides great flexibility. For example, one program may be able to operate on several different sets of data or several different programs may operate on the same data. With this flexibility, however, there is vulnerability.
  • a “rogue program” or a virus may operate on any file containing the programs and/or data in the system and corrupt the file. Such viruses may flood the computer system with spurious data, place the processor in a “loop,” or other similar malfeasant acts that hinder the processor from productive work.
  • programs and data are treated as a unit. This unit is derived in a compressed format and referred to as a program-data combine.
  • a program may only operate and/or modify the data that is associated with the program. For example, a first program and its data are compressed to form a program-data combine.
  • the program-data combine is stored on the program-data combine computer.
  • a second program and/or external computer requests use of the data within the first program.
  • the program-data combine computer provides the data to the second program, but only as a program-data combine.
  • the second program must have the needed software and/or hardware to decompresses the program-data combine, modify the data, and recompress the program and data to provide a new version of the program-data combine to be sent back to the program-data combine computer leaving the original program-data combine unaltered.
  • the program within the program-data combine is only operable on the data space attached to it in the program-data combine computer.
  • program-data combine capitalizes on the efficiencies gained from the compression and decompression of data.
  • program-data combines are received from sources external to the program-data combine computer. Having the program-data combines in a compressed format allows for efficient transmission and storage of programs and data.
  • FIG. 1 is a block diagram of one embodiment of a program-data combine computer system.
  • FIG. 2 is a flow chart of one embodiment of a method for powering up components for use in the program-data combine computer system of FIG. 1 .
  • FIG. 3 is a flow chart of one embodiment of a method for service request processing for use in the program-data combine computer system of FIG. 1 .
  • FIG. 4 is a flow chart of one embodiment of a method for security clearance processing for use in the program-data combine computer system of FIG. 1 .
  • FIG. 5 is a flow chart of one embodiment of a method for providing data and output processing for use in the program-data combine computer system of FIG. 1 .
  • FIG. 6 is a flow chart of one embodiment of a method for providing power down processing for use in the program-data combine computer system of FIG. 1 .
  • the program-data combine computer 10 provides a mechanism for removing the bifurcation of programs and data in the current art.
  • the program-data combine computer may also herein be referred to as a spinner 10 .
  • programs and data are treated as one entity known as the program data compact (PDC).
  • PDC program data compact
  • the program-data compact is received, acted upon, stored, and/or transmitted in a compressed format.
  • the program-data combine computer 10 includes a director processing unit (DPU) 12 that controls the functions of spinner 10 .
  • the DPU 12 is capable of activating and/or deactivating any of the components within the spinner 10 .
  • the DPU 12 may be any computational device capable of receiving and providing instructions to other computational devices.
  • the DPU 12 communicates with a data management unit (DMU) 14 .
  • the DMU 14 is capable of performing memory management functions required within the spinner 10 .
  • the DMU 14 may be any memory storage device capable of storing PDCs.
  • the DPU 12 within the spinner 10 oversees a variety of processes such as the following six separate processes to provide and utilize the PDC: the power up sequence, a service request process, security clearance process, data processing, output processing, and a power down sequence and other functions as may be warranted.
  • the power up sequence provides the operating system and memory at the time of the last power down sequence.
  • the DPU 12 communicates directly with a compression/decompression pump (C/D/pump) 16 .
  • the C/D pump 16 performs the process of compressing programs and/or data and decompressing such programs and/or data on demand.
  • the C/D pump 16 decompresses data from a kernel to obtain the operating system and memory at the time of the last power down of the spinner 10 .
  • the DPU 12 can coordinate service requests from external sources through the service request process.
  • Service requests are generally provided by wireless sources and/or direct sources.
  • the wireless sources are managed through a wireless processing unit (WPU) 20 .
  • the WPU 20 receives signals from wireless sources such as radio, TV, local area wireless networks, and/or the like.
  • the direct connect sources are managed through an input processing unit (IPU) 22 .
  • the IPU 22 manages data input from devices in direct communication with the spinner 10 .
  • Devices in direct communication with the spinner 10 may include a keyboard, mouse, telephone line, fiber optic line, and/or the like.
  • a security clearance unit (SCU) 24 manages security clearance aspects for the service requests acted upon by various components of the spinner 10 .
  • a service request cleared by the SCU 24 is able to be processed by a central processing unit (CPU) 26 within the spinner 10 .
  • the CPU generally abstracts each instruction within an active program and executes it until completion.
  • An arithmetic logic unit (ALU) 28 provides assistance to the CPU 26 during execution of the active program by performing the arithmetic and logic functions encoded within the active program.
  • Output provided by execution of the program is processed by an output processing unit (OPU) 30 .
  • the OPU 30 manages the output and provides the output to other devices external to the spinner 10 .
  • the OPU 30 may provide output from the executed program to printers, fax machines, telephone line, external spinner, and/or the like.
  • FIG. 2 is a block diagram of one embodiment of power up components for use in the spinner 10 of FIG. 1 .
  • the power-up sequence generally provides the operating system and memory from the last power-down sequence.
  • the DPU 12 deactivates all major components within the spinner 10 . After deactivation, the DPU 12 provides an activation signal to the DMU 14 .
  • the activation signal provides the DMU 14 a specific memory address for the power-up sequence known as the “Initial Program Load.”
  • the DMU 14 searches and provides the data within the kernel 18 to the C/D pump 16 and includes a request to perform an initial load.
  • the C/D pump 16 decompresses the data from the kernel 18 .
  • Decompressing data from the kernel 16 provides an operating system 32 and user memory 34 at the time of the last power down sequence.
  • the operating system 32 and user memory 34 at the time of the last power down sequence is loaded by the C/D pump 16 to the memory address, provided by the DMU 14 thereby accomplishing an “Initial Program Load”.
  • the operating system 32 and user memory 34 are then capable of being displayed on an external device 36 . For example, the operating system 32 and user memory 34 may be displayed on a monitor.
  • FIG. 3 is a block diagram of one embodiment of a method for service request processing.
  • a service request process for the spinner 10 may be provided by several sources.
  • the sources may be broadly grouped into two categories: wireless and direct connect.
  • the wireless sources are managed through the WPU 20 .
  • the WPU 20 receives signals from wireless sources such as radio, TV, local area wireless networks, and/or the like.
  • the direct connect sources are managed through the IPU 22 .
  • the IPU 22 manages data input from devices in direct communication with the spinner 10 .
  • Devices in direct communication with the spinner 10 may include a keyboard, mouse, telephone line, fiber optic line, and/or the like.
  • the DPU 12 receives at least one request for service for the spinner 10 from the WPU 20 and/or the IPU 22 .
  • the DPU 12 catalogs the request for service on a service request stack 38 .
  • the catalog provides a mechanism for prioritizing two or more requests for service from the spinner 10 .
  • the catalog may include one or more prioritizing criteria for the two or more requests for service. Examples of prioritizing criteria may include time, memory space, and/or the like.
  • a stack pointer 40 selects the request for service within the request stack 38 .
  • the stack pointer 40 places the request for service in a request register 42 .
  • the DPU 12 If the request for service requires security clearance, the DPU 12 signals the SCU 24 to request security clearance as illustrated in FIG. 4 . Specifically, the DPU 12 inserts information into the request register 42 if the request for service requires security clearance or further security clearance processing.
  • FIG. 4 is a block diagram of one embodiment of a method for security clearance processing.
  • the SCU 24 obtains information from the request register 42 on the request for service through a token 44 .
  • tokens 44 contain security clearance requirements of PDC in the form of information and/or procedures.
  • tokens 44 may contain the licensing information regarding the specific application, password authentication procedures, instructions regarding the copying and/or dissemination of data, special clearance needs required before the execution of the program is allowed and/or other similar information. Additionally, tokens 44 may contain PDCs requiring execution.
  • the SCU 24 receives information from a specific token 44 a .
  • the specific token 44 a stores information related to the request for service.
  • the SCU 24 determines whether all of the procedures outlined in the token 44 a are met. For example, if the token 44 a contains specific information regarding a password, the SCU 24 determines whether the password has been authenticated.
  • the SCU 24 provides the service request to a cleared request stack 46 . If any of the procedures as outlined in the token 44 are not satisfied, the SCU 24 provides the request for service to a denied request stack 48 . If additional procedures as outlined in the token 44 require further processing, the SCU 24 provides the request for service to a pending request stack 50 .
  • the SCU 24 may provide a signal to the DPU 12 regarding the status of the request for service.
  • the DPU 12 receives the status signal and dispatches at least one message indicating the status of the request for service to the source that initially requested service.
  • the DPU 12 If the request for service is placed in the cleared request stack 46 , the DPU 12 provides the request for service into an execution register 52 and signals the CPU 26 to process the request for service as illustrated in FIG. 5 .
  • FIG. 5 is a block diagram of one embodiment of a method for providing data and output processing.
  • the CPU 26 receives the request for service from the execution register 52 and signals the DMU 14 to retrieve the required PDC 54 .
  • the PDC 54 may be on the cleared request stack 46 (not illustrated in FIG. 5 ) or the PDC may be stored within the system memory (not illustrated in FIG. 5 ).
  • the DMU 14 retrieves the token 44 a and processes the token 44 a by placing a time stamp on the token 44 a , tagging the token 44 a as “before copy,” and/or other similar processing techniques known within the art.
  • the DMU 14 stores the token 44 in the main memory of the PDC 54 as part of user data.
  • the PDC 54 is then sent by the DMU 14 to the C/D Pump 16 , or similar pump, capable of decompressing the PDC 54 from its compressed format. Decompressing the PDC 54 will expand the PDC 54 to provide the program and associated data in a decompressed format.
  • the C/D Pump 16 places the decompressed program and data information in the main memory of the spinner 10 at a location requested by the DMU 14 .
  • the C/D Pump 16 then signals the CPU 26 to commence execution of the decompressed program and operate on the decompressed data.
  • the CPU 26 and the ALU 28 generate statistics 56 on the progress of the program to monitor program execution.
  • Such statistics 56 may include information on whether the request for memory has exceeded a certain threshold, if the program is in a loop, and/or other similar information. Based on these statistics 56 , a signal may be sent by the DPU 12 in order to disable the CPU 26 and/or ALU 28 and terminate execution of the program if needed.
  • the CPU 26 signals the C/D Pump 16 to recompress the program and data into the PDC 54 format.
  • the CPU 26 may also instruct the C/D Pump 16 to create an “after copy” of the token 44 a with the resulting PDC attached.
  • the “after copy” of the token 44 a is associated with the “before copy” of the token 44 a and stored in the main memory of the spinner 10 as part of the user data. If output was requested and cleared at the termination of the program execution, the output may be provided to an output request stack 58 in the form of the “after copy” of the token 44 a.
  • the CPU 26 then signals the DPU 12 that program execution is complete.
  • the DPU 12 directs the OPU 30 to process the output derived from the program execution.
  • Output may be processed by the OPU 30 according to security clearance restraints instructed within the token 44 a and provided to external devices 60 such as a parallel port, USB port or serial port for transmission purposes.
  • FIG. 6 is a block diagram of one embodiment of a method for providing power down processing.
  • the DPU 12 disables various components of the spinner 10 and signals the DMU 14 to initiate a shut down of the components within the spinner 10 .
  • the DMU 14 sends a signal request to the C/D Pump 16 to compress the operating system 32 and user data 34 within the main memory.
  • user data consists of tokens 44 stored in the main memory 62 of the spinner system 10 may include the “before copy” and the “after copy.”
  • the operating system 32 and the user data may be compressed together or compressed separately as needed for storage within the kernel 18 .
  • the C/D Pump 16 consolidates information into an archived operating system 32 a and archived user data 34 a to provide back-up copies of the operating system 32 and user data 34 .
  • the archives 32 a and 34 a would normally be stored in a non-volatile memory (e.g. hard drive or flash memory) device as back up in case the operating system and user data are damaged or lost.

Abstract

Methods for securing at least one program application and data associated with the program application are herein described. In one embodiment, the method includes compressing the program application and data associated with the program application into a program-data combine having a compressed format and storing the program-data combine on a program-data combine computer.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims priority to U.S. Provisional Application Ser. No. 60/931,153, filed on May 21, 2007, the entire disclosure of which is hereby incorporated into this disclosure.
  • STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
  • Not applicable.
  • NAMES OF PARTIES TO A JOINT RESEARCH AGREEMENT
  • Not applicable.
  • REFERENCE TO A “SEQUENCE LISTING,” A TABLE, OR A COMPUTER PROGRAM LISTING APPENDIX SUBMITTED ON A COMPACT DISC AND AN INCORPORATION BY REFERENCE OF THE MATERIAL ON THE COMPACT DISC
  • Not applicable.
  • BACKGROUND
  • 1. Field of the Invention
  • The present invention relates generally to a program-data combining system. More specifically, but not by way of limitation, the invention relates to storage and retrieval of programs and data as a single unit.
  • 2. Brief Description of Related Art
  • Programs are a set of instructions developed to accomplish a certain objective. Generally, programs operate on input data and stored data to accomplish the desired result. The output data produced as a result is either stored or provides instructions to external device(s) for further action.
  • The bifurcation between programs and data provides great flexibility. For example, one program may be able to operate on several different sets of data or several different programs may operate on the same data. With this flexibility, however, there is vulnerability.
  • Within bifurcated programs and data, a “rogue program” or a virus may operate on any file containing the programs and/or data in the system and corrupt the file. Such viruses may flood the computer system with spurious data, place the processor in a “loop,” or other similar malfeasant acts that hinder the processor from productive work.
  • Currently within the field of computer technology, immunity from attacks by computer viruses is a daily threat. Security in most systems is not built in, but instead added on. For example, currently implemented security systems include firewalls, anti-virus software, and other similar mechanisms.
  • One of the principle reasons attacks are so prevalent is the ability to exploit the weakness in the separation between programs and data. This separation between the programs and data is an easy target to prey upon.
  • Within the art, separation of programs and data has been necessitated by the fact that programs and data can get arbitrarily large. As such, associating programs and data as a single entity becomes a practical improbability due to storing and transmission considerations. Great strides have been made, however, in the compression of programs and data increasing the feasibility of joining programs and data for storage and transmission.
  • For example, compression of data as disclosed in U.S. Pat. No. 7,298,293, entitled, “METHOD OF ENCODING DATA”, produces a compressed set of data that is only a small fraction of the size of the program and/or data that it operates on. See U.S. Pat. No. 7,298,293, filed on May 18, 2006, the entire contents of which is hereby incorporated into this disclosure. Subsequent provisional applications disclose decompression of this compressed set to reproduce the original program and/or data. See U.S. Provisional Patent No. 61/016,022, filed on Dec. 21, 2007, and U.S. Provisional Patent No. 61/038,527, filed on Mar. 21, 2008, the entire contents of which are hereby incorporated by reference in their entirety.
  • The use of these compression techniques, and/or other similar compression techniques, provide a mechanism for combining program and data into a single entity for storage and transmission.
  • BRIEF SUMMARY OF THE EMBODIMENTS
  • The present invention advances the concepts of securing computer systems. In one embodiment, programs and data are treated as a unit. This unit is derived in a compressed format and referred to as a program-data combine. Within a program-data combine, a program may only operate and/or modify the data that is associated with the program. For example, a first program and its data are compressed to form a program-data combine. The program-data combine is stored on the program-data combine computer. A second program and/or external computer requests use of the data within the first program. The program-data combine computer provides the data to the second program, but only as a program-data combine. The second program must have the needed software and/or hardware to decompresses the program-data combine, modify the data, and recompress the program and data to provide a new version of the program-data combine to be sent back to the program-data combine computer leaving the original program-data combine unaltered. Generally, the program within the program-data combine is only operable on the data space attached to it in the program-data combine computer.
  • Further, the program-data combine capitalizes on the efficiencies gained from the compression and decompression of data. Generally, program-data combines are received from sources external to the program-data combine computer. Having the program-data combines in a compressed format allows for efficient transmission and storage of programs and data.
  • BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS
  • So that the above recited features and advantages of the present invention can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to the embodiments thereof that are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of the invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.
  • FIG. 1 is a block diagram of one embodiment of a program-data combine computer system.
  • FIG. 2 is a flow chart of one embodiment of a method for powering up components for use in the program-data combine computer system of FIG. 1.
  • FIG. 3 is a flow chart of one embodiment of a method for service request processing for use in the program-data combine computer system of FIG. 1.
  • FIG. 4 is a flow chart of one embodiment of a method for security clearance processing for use in the program-data combine computer system of FIG. 1.
  • FIG. 5 is a flow chart of one embodiment of a method for providing data and output processing for use in the program-data combine computer system of FIG. 1.
  • FIG. 6 is a flow chart of one embodiment of a method for providing power down processing for use in the program-data combine computer system of FIG. 1.
  • DETAILED DESCRIPTION OF THE EMBODIMENTS
  • Present embodiments of the invention are shown in the above-identified figures and described in detail below. In describing the embodiments, like or identical reference numerals are used to identify common or similar elements. The figures are not necessarily to scale and certain features in certain views of the figures may be shown exaggerated in scale or in schematic in the interest of clarity and conciseness.
  • Referring now to the figures, and in particular to FIG. 1, shown therein and designated by reference numeral 10 is a program-data combine computer for interrelating program and data information. The program-data combine computer 10 provides a mechanism for removing the bifurcation of programs and data in the current art. The program-data combine computer may also herein be referred to as a spinner 10.
  • In the spinner 10, programs and data are treated as one entity known as the program data compact (PDC). Only programs within the PDC may manipulate the data within the PDC. Generally, the program-data compact is received, acted upon, stored, and/or transmitted in a compressed format.
  • Generally, the program-data combine computer 10 includes a director processing unit (DPU) 12 that controls the functions of spinner 10. The DPU 12 is capable of activating and/or deactivating any of the components within the spinner 10. The DPU 12 may be any computational device capable of receiving and providing instructions to other computational devices.
  • The DPU 12 communicates with a data management unit (DMU) 14. The DMU 14 is capable of performing memory management functions required within the spinner 10. The DMU 14 may be any memory storage device capable of storing PDCs.
  • The DPU 12 within the spinner 10 oversees a variety of processes such as the following six separate processes to provide and utilize the PDC: the power up sequence, a service request process, security clearance process, data processing, output processing, and a power down sequence and other functions as may be warranted.
  • The power up sequence provides the operating system and memory at the time of the last power down sequence. During this process, the DPU 12 communicates directly with a compression/decompression pump (C/D/pump) 16. Generally, the C/D pump 16 performs the process of compressing programs and/or data and decompressing such programs and/or data on demand. In the power up process, the C/D pump 16 decompresses data from a kernel to obtain the operating system and memory at the time of the last power down of the spinner 10.
  • Once the spinner 10 is powered up, the DPU 12 can coordinate service requests from external sources through the service request process. Service requests are generally provided by wireless sources and/or direct sources.
  • The wireless sources are managed through a wireless processing unit (WPU) 20. The WPU 20 receives signals from wireless sources such as radio, TV, local area wireless networks, and/or the like.
  • The direct connect sources are managed through an input processing unit (IPU) 22. The IPU 22 manages data input from devices in direct communication with the spinner 10. Devices in direct communication with the spinner 10 may include a keyboard, mouse, telephone line, fiber optic line, and/or the like.
  • Certain service requests may require security clearance. A security clearance unit (SCU) 24 manages security clearance aspects for the service requests acted upon by various components of the spinner 10.
  • A service request cleared by the SCU 24 is able to be processed by a central processing unit (CPU) 26 within the spinner 10. The CPU generally abstracts each instruction within an active program and executes it until completion. An arithmetic logic unit (ALU) 28 provides assistance to the CPU 26 during execution of the active program by performing the arithmetic and logic functions encoded within the active program.
  • Output provided by execution of the program is processed by an output processing unit (OPU) 30. The OPU 30 manages the output and provides the output to other devices external to the spinner 10. For example, the OPU 30 may provide output from the executed program to printers, fax machines, telephone line, external spinner, and/or the like.
  • Interaction between components of the spinner 10 illustrated in FIG. 1 provides for the storage, modification, transmission, and retrieval of the PDC. Each of the processes designed to provide and utilize the PDC are described in further detail herein below.
  • 1. Power-Up Sequence
  • FIG. 2 is a block diagram of one embodiment of power up components for use in the spinner 10 of FIG. 1. The power-up sequence generally provides the operating system and memory from the last power-down sequence.
  • Initially, the DPU 12 deactivates all major components within the spinner 10. After deactivation, the DPU 12 provides an activation signal to the DMU 14. The activation signal provides the DMU 14 a specific memory address for the power-up sequence known as the “Initial Program Load.”
  • The DMU 14 searches and provides the data within the kernel 18 to the C/D pump 16 and includes a request to perform an initial load. The C/D pump 16 decompresses the data from the kernel 18. Decompressing data from the kernel 16 provides an operating system 32 and user memory 34 at the time of the last power down sequence. The operating system 32 and user memory 34 at the time of the last power down sequence is loaded by the C/D pump 16 to the memory address, provided by the DMU 14 thereby accomplishing an “Initial Program Load”. The operating system 32 and user memory 34 are then capable of being displayed on an external device 36. For example, the operating system 32 and user memory 34 may be displayed on a monitor. Once the operating system 32 and user memory 34 are loaded starting at the designated memory location, the DMU 14 signals the DPU 12 the “Initial Program Load” and therefore the power up sequence is complete.
  • 2. Service Request Process
  • FIG. 3 is a block diagram of one embodiment of a method for service request processing. Generally, a service request process for the spinner 10 may be provided by several sources. The sources may be broadly grouped into two categories: wireless and direct connect.
  • The wireless sources are managed through the WPU 20. The WPU 20 receives signals from wireless sources such as radio, TV, local area wireless networks, and/or the like.
  • The direct connect sources are managed through the IPU 22. The IPU 22 manages data input from devices in direct communication with the spinner 10. Devices in direct communication with the spinner 10 may include a keyboard, mouse, telephone line, fiber optic line, and/or the like.
  • The DPU 12 receives at least one request for service for the spinner 10 from the WPU 20 and/or the IPU 22. The DPU 12 catalogs the request for service on a service request stack 38. In one embodiment, the catalog provides a mechanism for prioritizing two or more requests for service from the spinner 10. The catalog may include one or more prioritizing criteria for the two or more requests for service. Examples of prioritizing criteria may include time, memory space, and/or the like.
  • A stack pointer 40 selects the request for service within the request stack 38. The stack pointer 40 places the request for service in a request register 42.
  • If the request for service requires security clearance, the DPU 12 signals the SCU 24 to request security clearance as illustrated in FIG. 4. Specifically, the DPU 12 inserts information into the request register 42 if the request for service requires security clearance or further security clearance processing.
  • 3. Security Clearance Processing
  • FIG. 4 is a block diagram of one embodiment of a method for security clearance processing. The SCU 24 obtains information from the request register 42 on the request for service through a token 44. Generally, tokens 44 contain security clearance requirements of PDC in the form of information and/or procedures. For example, tokens 44 may contain the licensing information regarding the specific application, password authentication procedures, instructions regarding the copying and/or dissemination of data, special clearance needs required before the execution of the program is allowed and/or other similar information. Additionally, tokens 44 may contain PDCs requiring execution.
  • The SCU 24 receives information from a specific token 44 a. The specific token 44 a stores information related to the request for service. The SCU 24 determines whether all of the procedures outlined in the token 44 a are met. For example, if the token 44 a contains specific information regarding a password, the SCU 24 determines whether the password has been authenticated.
  • Once all of the procedures outlined in the token 44 a are met, the SCU 24 provides the service request to a cleared request stack 46. If any of the procedures as outlined in the token 44 are not satisfied, the SCU 24 provides the request for service to a denied request stack 48. If additional procedures as outlined in the token 44 require further processing, the SCU 24 provides the request for service to a pending request stack 50.
  • Once the SCU 24 provides the request for service to either the cleared request stack 46, the denied request stack 48, or the pending request stack 50, the SCU 24 may provide a signal to the DPU 12 regarding the status of the request for service. The DPU 12 receives the status signal and dispatches at least one message indicating the status of the request for service to the source that initially requested service.
  • If the request for service is placed in the cleared request stack 46, the DPU 12 provides the request for service into an execution register 52 and signals the CPU 26 to process the request for service as illustrated in FIG. 5.
  • 4. Data Processing/Output Processing
  • FIG. 5 is a block diagram of one embodiment of a method for providing data and output processing. Generally, the CPU 26 receives the request for service from the execution register 52 and signals the DMU 14 to retrieve the required PDC 54. The PDC 54 may be on the cleared request stack 46 (not illustrated in FIG. 5) or the PDC may be stored within the system memory (not illustrated in FIG. 5).
  • The DMU 14 retrieves the token 44 a and processes the token 44 a by placing a time stamp on the token 44 a, tagging the token 44 a as “before copy,” and/or other similar processing techniques known within the art. The DMU 14 stores the token 44 in the main memory of the PDC 54 as part of user data.
  • The PDC 54 is then sent by the DMU 14 to the C/D Pump 16, or similar pump, capable of decompressing the PDC 54 from its compressed format. Decompressing the PDC 54 will expand the PDC 54 to provide the program and associated data in a decompressed format. The C/D Pump 16 places the decompressed program and data information in the main memory of the spinner 10 at a location requested by the DMU 14. The C/D Pump 16 then signals the CPU 26 to commence execution of the decompressed program and operate on the decompressed data.
  • As the program execution continues, the CPU 26 and the ALU 28 generate statistics 56 on the progress of the program to monitor program execution. Such statistics 56 may include information on whether the request for memory has exceeded a certain threshold, if the program is in a loop, and/or other similar information. Based on these statistics 56, a signal may be sent by the DPU 12 in order to disable the CPU 26 and/or ALU 28 and terminate execution of the program if needed.
  • At the termination of program execution, the CPU 26 signals the C/D Pump 16 to recompress the program and data into the PDC 54 format. The CPU 26 may also instruct the C/D Pump 16 to create an “after copy” of the token 44 a with the resulting PDC attached. The “after copy” of the token 44 a is associated with the “before copy” of the token 44 a and stored in the main memory of the spinner 10 as part of the user data. If output was requested and cleared at the termination of the program execution, the output may be provided to an output request stack 58 in the form of the “after copy” of the token 44 a.
  • The CPU 26 then signals the DPU 12 that program execution is complete. At this point, the DPU 12 directs the OPU 30 to process the output derived from the program execution. Output may be processed by the OPU 30 according to security clearance restraints instructed within the token 44 a and provided to external devices 60 such as a parallel port, USB port or serial port for transmission purposes.
  • Data processing and output processing are repeated for every request for service on the cleared request stack 46. When all such requests for service on the cleared request stack 46 have been processed, the spinner 10 goes into a wait state until additional requests are available to be serviced.
  • 5. Power Down Sequence
  • FIG. 6 is a block diagram of one embodiment of a method for providing power down processing. Generally, the DPU 12 disables various components of the spinner 10 and signals the DMU 14 to initiate a shut down of the components within the spinner 10.
  • The DMU 14 sends a signal request to the C/D Pump 16 to compress the operating system 32 and user data 34 within the main memory. As previously discussed, user data consists of tokens 44 stored in the main memory 62 of the spinner system 10 may include the “before copy” and the “after copy.” The operating system 32 and the user data may be compressed together or compressed separately as needed for storage within the kernel 18.
  • During the power down sequence, the C/D Pump 16 consolidates information into an archived operating system 32 a and archived user data 34 a to provide back-up copies of the operating system 32 and user data 34. Generally, the archives 32 a and 34 a would normally be stored in a non-volatile memory (e.g. hard drive or flash memory) device as back up in case the operating system and user data are damaged or lost.
  • From the above description, it is clear that the present invention is well adapted to carry out the objects and to attain the advantages mentioned herein, as well as those inherent in the invention. Although the foregoing invention has been described in some detail by way of illustration and example, it will be apparent to those skilled in the art that certain changes and modifications may be practiced without departing from the spirit and scope of the present invention, as described herein. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features described herein.

Claims (6)

1. A method for securing at least one program application and data associated with the program application, comprising:
compressing the program application and data associated with the program application into a program-data combine having a compressed format;
the program application being adapted to only operate on the data associated with the program application;
storing the program-data combine on a program-data combine computer.
2. The method of claim 1, further comprising the step of:
transmitting the program-data combine from the program-data combine computer to an external computer, the external computer storing and transmitting the program-data combine in the compressed format.
3. The method of claim 2, further comprising the steps of:
decompressing, by the external computer, the program-data combine to enable the program application to operate on the associated data in a decompressed state; and,
recompressing, by the external computer, the program application and the associated data to provide a modified program-data combine distinct from the original program data combine for storage and transmission.
4. The method of claim 2, further comprising the step of:
validating the program-data combine by identifying at least one security feature compressed within the associated program-data combine.
5. The method of claim 4, wherein the security feature is a time stamp identifying the before and after execution of the program by the external computer.
6. The method of claim 5, further comprising the step of:
storing the program-data combine within a kernel, wherein the program and the associated data are compressed and stored as separate entities within the kernel.
US12/121,394 2007-05-21 2008-05-15 Program-Data Combining System Abandoned US20080294669A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/121,394 US20080294669A1 (en) 2007-05-21 2008-05-15 Program-Data Combining System

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US93115307P 2007-05-21 2007-05-21
US12/121,394 US20080294669A1 (en) 2007-05-21 2008-05-15 Program-Data Combining System

Publications (1)

Publication Number Publication Date
US20080294669A1 true US20080294669A1 (en) 2008-11-27

Family

ID=40073370

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/121,394 Abandoned US20080294669A1 (en) 2007-05-21 2008-05-15 Program-Data Combining System
US12/121,354 Expired - Fee Related US7683811B2 (en) 2007-05-21 2008-05-15 Storage and retrieval of compressed data in mixed mode

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/121,354 Expired - Fee Related US7683811B2 (en) 2007-05-21 2008-05-15 Storage and retrieval of compressed data in mixed mode

Country Status (1)

Country Link
US (2) US20080294669A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080147962A1 (en) * 2006-12-15 2008-06-19 Diggs Mark S Storage subsystem with multiple non-volatile memory arrays to protect against data losses

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2536472B (en) * 2015-03-18 2018-08-01 Displaylink Uk Ltd A method of processing display data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860012A (en) * 1993-09-30 1999-01-12 Intel Corporation Installation of application software through a network from a source computer system on to a target computer system
US5953533A (en) * 1997-08-27 1999-09-14 Lucent Technologies Inc. Computer software distribution, installation and maintenance method and apparatus
US6311058B1 (en) * 1998-06-30 2001-10-30 Microsoft Corporation System for delivering data content over a low bit rate transmission channel
US6493871B1 (en) * 1999-09-16 2002-12-10 Microsoft Corporation Method and system for downloading updates for software installation
US6918113B2 (en) * 2000-11-06 2005-07-12 Endeavors Technology, Inc. Client installation and execution system for streamed applications

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3145367A (en) 1959-07-27 1964-08-18 Stanford Research Inst Character recognition circuit
US3342979A (en) 1963-07-22 1967-09-19 Estimatic Corp Electronic data acquisition assistant to the cost estimator
US3462548A (en) 1965-05-13 1969-08-19 Robert M Rinder Combined writing device and computer input
US3528295A (en) 1968-06-25 1970-09-15 Burroughs Corp Stylus with pressure responsive transducer
US3835453A (en) 1972-06-01 1974-09-10 S Narayanan Code generating and receiving apparatus
DE3407832C2 (en) 1983-03-03 1994-08-11 Matsushita Electric Ind Co Ltd Methods for encoding and decoding binary data
US5486828A (en) 1989-04-06 1996-01-23 Canon Kabushiki Kaisha Coding/decoding method and apparatus therefor
US5793661A (en) 1995-12-26 1998-08-11 Intel Corporation Method and apparatus for performing multiply and accumulate operations on packed data
US6559980B1 (en) 1999-01-08 2003-05-06 Cisco Systems, Inc. Increasing speed of non-error corrected fax transmissions
US6360300B1 (en) * 1999-08-31 2002-03-19 International Business Machines Corporation System and method for storing compressed and uncompressed data on a hard disk drive
US7058783B2 (en) * 2002-09-18 2006-06-06 Oracle International Corporation Method and mechanism for on-line data compression and in-place updates
US6927710B2 (en) 2002-10-30 2005-08-09 Lsi Logic Corporation Context based adaptive binary arithmetic CODEC architecture for high quality video compression and decompression
US6912646B1 (en) 2003-01-06 2005-06-28 Xilinx, Inc. Storing and selecting multiple data streams in distributed memory devices
US7298293B2 (en) 2005-06-03 2007-11-20 Sarukkai R. Narayanan Method for encoding data
JP2007295095A (en) 2006-04-21 2007-11-08 Toshiba Corp Compressed data transmitting device and compressed data transmitting method
US7471218B2 (en) * 2006-09-18 2008-12-30 National Semiconductor Corporation Methods and systems for efficiently storing and retrieving streaming data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860012A (en) * 1993-09-30 1999-01-12 Intel Corporation Installation of application software through a network from a source computer system on to a target computer system
US5953533A (en) * 1997-08-27 1999-09-14 Lucent Technologies Inc. Computer software distribution, installation and maintenance method and apparatus
US6311058B1 (en) * 1998-06-30 2001-10-30 Microsoft Corporation System for delivering data content over a low bit rate transmission channel
US6493871B1 (en) * 1999-09-16 2002-12-10 Microsoft Corporation Method and system for downloading updates for software installation
US6918113B2 (en) * 2000-11-06 2005-07-12 Endeavors Technology, Inc. Client installation and execution system for streamed applications

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080147962A1 (en) * 2006-12-15 2008-06-19 Diggs Mark S Storage subsystem with multiple non-volatile memory arrays to protect against data losses
US8549236B2 (en) * 2006-12-15 2013-10-01 Siliconsystems, Inc. Storage subsystem with multiple non-volatile memory arrays to protect against data losses

Also Published As

Publication number Publication date
US20080294668A1 (en) 2008-11-27
US7683811B2 (en) 2010-03-23

Similar Documents

Publication Publication Date Title
TWI786399B (en) Non-transitory computer accessible storage medium, method and computer systems for post-processing in a cloud-based data protection service
JP4881348B2 (en) Distributed virus scanning of stored data
US6895506B1 (en) Secure storage and execution of processor control programs by encryption and a program loader/decryption mechanism
US20030118189A1 (en) Encryption processing apparatus, encryption processing unit control apparatus, encryption processing unit, and computer product
US10146942B2 (en) Method to protect BIOS NVRAM from malicious code injection by encrypting NVRAM variables and system therefor
US20080072070A1 (en) Secure virtual RAM
US8285997B2 (en) Backup apparatus with higher security and lower network bandwidth consumption
WO2019084916A1 (en) Method and system for recovering logic in fpga chip, and fpga apparatus
US8924700B1 (en) Techniques for booting from an encrypted virtual hard disk
US8352750B2 (en) Encryption based storage lock
US6668326B1 (en) Context saving system
US20210382985A1 (en) Virus immune computer system and method
US20100153667A1 (en) Method, computer program and electronic device
US9330282B2 (en) Instruction cards for storage devices
US20200242235A1 (en) Virus immune computer system and method
GB2416411A (en) Secure data storage
WO2016195624A1 (en) Transferring an image file over a network
CN101211287B (en) Data backup device, system and its method
US20080294669A1 (en) Program-Data Combining System
US20070263876A1 (en) In-memory compression and encryption
US9009472B2 (en) Providing consistent cryptographic operations
US20040230804A1 (en) Digital signature generating apparatus, method, computer program and computer-readable storage medium
CN109145599B (en) Protection method for malicious viruses
WO2020003299A1 (en) Data backup system and method
US20150134943A1 (en) System and a method of building a primary system

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION