US20080294669A1 - Program-Data Combining System - Google Patents
Program-Data Combining System Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document 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
- 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.
- Not applicable.
- Not applicable.
- Not applicable.
- 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.
- 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.
- 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 ofFIG. 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 ofFIG. 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 ofFIG. 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 ofFIG. 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 ofFIG. 1 . - 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 byreference numeral 10 is a program-data combine computer for interrelating program and data information. The program-data combinecomputer 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 aspinner 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 ofspinner 10. TheDPU 12 is capable of activating and/or deactivating any of the components within thespinner 10. TheDPU 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. TheDMU 14 is capable of performing memory management functions required within thespinner 10. TheDMU 14 may be any memory storage device capable of storing PDCs. - The
DPU 12 within thespinner 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 thespinner 10. - Once the
spinner 10 is powered up, theDPU 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 thespinner 10. Devices in direct communication with thespinner 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 thespinner 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 theCPU 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 thespinner 10. For example, theOPU 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 inFIG. 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. -
FIG. 2 is a block diagram of one embodiment of power up components for use in thespinner 10 ofFIG. 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 thespinner 10. After deactivation, theDPU 12 provides an activation signal to theDMU 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 thekernel 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 thekernel 18. Decompressing data from thekernel 16 provides anoperating system 32 anduser memory 34 at the time of the last power down sequence. Theoperating system 32 anduser 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 theDMU 14 thereby accomplishing an “Initial Program Load”. Theoperating system 32 anduser memory 34 are then capable of being displayed on anexternal device 36. For example, theoperating system 32 anduser memory 34 may be displayed on a monitor. Once theoperating system 32 anduser memory 34 are loaded starting at the designated memory location, theDMU 14 signals theDPU 12 the “Initial Program Load” and therefore the power up sequence is complete. -
FIG. 3 is a block diagram of one embodiment of a method for service request processing. Generally, a service request process for thespinner 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. TheWPU 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. TheIPU 22 manages data input from devices in direct communication with thespinner 10. Devices in direct communication with thespinner 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 thespinner 10 from theWPU 20 and/or theIPU 22. TheDPU 12 catalogs the request for service on aservice request stack 38. In one embodiment, the catalog provides a mechanism for prioritizing two or more requests for service from thespinner 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 therequest stack 38. Thestack pointer 40 places the request for service in arequest register 42. - If the request for service requires security clearance, the
DPU 12 signals theSCU 24 to request security clearance as illustrated inFIG. 4 . Specifically, theDPU 12 inserts information into therequest 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. TheSCU 24 obtains information from therequest 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. TheSCU 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, theSCU 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 clearedrequest stack 46. If any of the procedures as outlined in the token 44 are not satisfied, theSCU 24 provides the request for service to a deniedrequest stack 48. If additional procedures as outlined in the token 44 require further processing, theSCU 24 provides the request for service to a pendingrequest stack 50. - Once the
SCU 24 provides the request for service to either the clearedrequest stack 46, the deniedrequest stack 48, or the pendingrequest stack 50, theSCU 24 may provide a signal to theDPU 12 regarding the status of the request for service. TheDPU 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, theDPU 12 provides the request for service into anexecution register 52 and signals theCPU 26 to process the request for service as illustrated inFIG. 5 . -
FIG. 5 is a block diagram of one embodiment of a method for providing data and output processing. Generally, theCPU 26 receives the request for service from theexecution register 52 and signals theDMU 14 to retrieve the requiredPDC 54. ThePDC 54 may be on the cleared request stack 46 (not illustrated inFIG. 5 ) or the PDC may be stored within the system memory (not illustrated inFIG. 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. TheDMU 14 stores the token 44 in the main memory of thePDC 54 as part of user data. - The
PDC 54 is then sent by theDMU 14 to the C/D Pump 16, or similar pump, capable of decompressing thePDC 54 from its compressed format. Decompressing thePDC 54 will expand thePDC 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 thespinner 10 at a location requested by theDMU 14. The C/D Pump 16 then signals theCPU 26 to commence execution of the decompressed program and operate on the decompressed data. - As the program execution continues, the
CPU 26 and theALU 28 generatestatistics 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 thesestatistics 56, a signal may be sent by theDPU 12 in order to disable theCPU 26 and/orALU 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 thePDC 54 format. TheCPU 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 thespinner 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 anoutput request stack 58 in the form of the “after copy” of the token 44 a. - The
CPU 26 then signals theDPU 12 that program execution is complete. At this point, theDPU 12 directs theOPU 30 to process the output derived from the program execution. Output may be processed by theOPU 30 according to security clearance restraints instructed within the token 44 a and provided toexternal 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 clearedrequest stack 46 have been processed, thespinner 10 goes into a wait state until additional requests are available to be serviced. -
FIG. 6 is a block diagram of one embodiment of a method for providing power down processing. Generally, theDPU 12 disables various components of thespinner 10 and signals theDMU 14 to initiate a shut down of the components within thespinner 10. - The
DMU 14 sends a signal request to the C/D Pump 16 to compress theoperating system 32 anduser data 34 within the main memory. As previously discussed, user data consists oftokens 44 stored in themain memory 62 of thespinner system 10 may include the “before copy” and the “after copy.” Theoperating system 32 and the user data may be compressed together or compressed separately as needed for storage within thekernel 18. - During the power down sequence, the C/
D Pump 16 consolidates information into anarchived operating system 32 a andarchived user data 34 a to provide back-up copies of theoperating system 32 anduser data 34. Generally, thearchives - 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.
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)
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)
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)
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)
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 |
-
2008
- 2008-05-15 US US12/121,394 patent/US20080294669A1/en not_active Abandoned
- 2008-05-15 US US12/121,354 patent/US7683811B2/en not_active Expired - Fee Related
Patent Citations (5)
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)
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 |