Method for operating a device system with a mass storage device accessible to multiple users
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- CANON PRODN PRINTING HLDG BV
- Filing Date
- 2021-03-10
- Publication Date
- 2026-07-09
AI Technical Summary
Existing methods for securing data in a printer system with mass storage accessible to multiple users face challenges such as security gaps from administrator rights bypass, high computational overhead for encryption/decryption, limited throughput, and potential data loss due to unexpected printing device stops.
Implementing a method that dynamically sets up and unmounts user-specific partitions on a mass storage for each user, ensuring data accessibility only to authorized users without encryption, and moving partitions to manage storage efficiently.
Enhances data security, reduces computational load, and prevents data loss by overwriting obsolete data, thereby minimizing waste and production costs while maintaining high data throughput.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] The invention relates to a method for operating a device system comprising an electronic data processing system with a mass storage device accessible to multiple external users.
[0002] DE 10 2019 117 538.0 describes a method for operating a print server for high-performance digital printing systems, as well as a corresponding print server. The method uses a print server that has a spooling memory configured for storing print jobs and a print data cache configured for transmitting print data from a spooled print job to one or more printing devices. Each print job stored in the spooling memory, hereinafter referred to as a spooled print job, is assigned a print priority. The following steps are performed in this method: - Determining a spooling priority print job that has the highest print priority among the spooling print jobs and is not stored in the print data cache, - Determining the print job size of the spooling priority print job, - Determining the free capacity of the print data cache, - Deleting one or more print jobs not currently being printed from the print data cache, provided that the free capacity of the print data cache is less than the size of the spooling priority print job and provided that the print priority of the print job to be deleted is less than the print priority of the spooling priority print job, and - Loading the spooling priority print job into the print data cache, provided there is sufficient free capacity.
[0003] DE 10 2016 125 023.6 describes a method for operating a print server and such a print server for high-performance digital printing systems. The method comprises the following steps: - Monitoring of state parameters that describe system states, such as the load on a CPU, RAM, file system, network and / or system interface, using a collective trigger, - Triggering filters to read further state parameters, which include process states of application processes running on the print server, whereby the triggering is performed with a trigger logic, depending on whether the system states monitored with the collective trigger represent an exceptional operating condition.
[0004] Chapter 15 of the book "Digital Printing, Technology and Printing Techniques of Oce Digital Printing Presses", 9th edition, February 2005, ISBN 3-00-001081-5, describes print servers for high-performance printers. It schematically illustrates the process used in an Oce PRISMAproduction Document Output Management System for communication between two processes of a computer system to transfer print data.
[0005] The invention relates in particular to a method for operating a printing system with one or more printers. In this case, the data processing system serves to manage customer print jobs and control their execution. For this purpose, the print job specifications and the print data are stored, at least temporarily, in mass storage, which is formed, for example, by a hard drive or a RAID array with multiple bundled data carriers (hard disks) (also known as solid-state drives (SSDs) or non-volatile main memory).
[0006] In such a system, each customer should have external access to their own data to process their print jobs. However, each customer's data must also be protected against unauthorized access by third parties. This requires, firstly, security vetting of employees who, to ensure the smooth operation of the printing system, must have extensive access rights to the storage medium. Protecting a customer's data from access by other external users is more challenging. Known solutions to this problem include a file-level access permission system and data encryption, either at the disk level or at the file level. However, these solutions can lead to security vulnerabilities because the access restrictions or...They allow access restrictions for the required keys to be bypassed using real or fake administrator rights, and / or they have the disadvantage that the frequent encryption and decryption of the data requires a high level of computing power.
[0007] Read and write throughput is also limited by the maximum encryption and decryption speeds. This limitation is caused by the maximum CPU core processing speed for the methods used. Scaling encryption and decryption across multiple CPU cores is not supported by the currently available standard method.
[0008] Furthermore, encryption and decryption are sequential processes, which also makes parallelization difficult. This also leads to the problem that if a data error occurs, the subsequently encrypted data can no longer be decrypted.
[0009] For print servers in high-performance digital printing systems, it is crucial that a continuous stream of print data can be supplied to the printers. If a print data stream requested by a printer could not be transmitted in time, the printer would have to be stopped. However, a printer in a high-performance printing system cannot simply be stopped. For example, the transport of the printing medium cannot be easily halted. Therefore, an unexpected interruption of the printing process leads to a significant waste of printing media, also known as waste paper. Furthermore, printer downtime incurs substantial production costs.
[0010] Therefore, it is essential that the printer driver can read the data quickly enough to send it to the printer in a timely manner. If the printer driver's decryption process is too slow, the printer must be stopped.
[0011] The object of the invention is therefore to create a simpler, safer and faster method for operating a system with a mass storage device accessible to external users.
[0012] According to the invention, this problem is solved by a method comprising the following steps: - Upon successful login of an external user: automatic creation of a mass storage partition visible only to that user, and - Upon termination of user interaction: automatic unmounting of the partition.
[0013] In this context, a "partition" refers to a logical area of the mass storage device that, from the perspective of the operating system, can be treated like a separate hard drive. The term "setting up a partition" encompasses both creating a new partition and mounting an existing partition for a logged-in user. "Unmounting the partition" means making the partition inaccessible to the external user, although the logical area of the mass storage device that constitutes this partition remains intact and is simply invisible to the user in question.
[0014] According to the invention, at least one separate partition is set up for each external user who logs on to the system, in which their data can be stored. This ensures, even without encryption, that the data is accessible only to that user and, if applicable, to internal users, but not to other external users.
[0015] With prolonged use of the printer system by changing customers, the inventive method, given the limited capacity of the mass storage, will inevitably lead to dynamic changes in the partitioning of the mass storage, for example, by deleting partitions that are no longer needed, thus creating space for new partitions for new customers, or by enlarging a partition whose storage capacity is no longer sufficient or replacing it with a new partition of greater capacity. This dynamic has the desirable side effect that data that is no longer needed is overwritten relatively quickly and data is frequently copied within the storage medium or from one storage medium to another, with the consequence that, in the case of hacker attacks, this deleted data is overwritten and therefore the 'old data' can no longer be read.
[0016] Advantageous embodiments and further developments of the invention are specified in the dependent claims.
[0017] In addition to partitions for external users, partitions can also be set up for internal users and / or printer operators. Internal users can be individuals, such as employees of the print center, or software agents, who generally have more extensive access rights than external users. If an internal user needs access to specific partitions to perform their tasks, the required partitions are mounted for this user upon request and unmounted again after the task is completed, according to the inventive method. These partitions can also be partitions belonging to external users. Partitions can be set up for printer operators on which the print data required by the respective printer for executing print jobs is stored.
[0018] When mounting a partition, or possibly later during a user session, the system can check whether the partition's storage capacity is sufficient. If not, depending on the operating system's functionality, the partition can be enlarged, or the old partition can be deleted and replaced with a newly created, larger one. In this process, the relevant data is usually copied to the storage media. This copying of data to the mass storage media makes unauthorized access more difficult and thus increases data security.
[0019] According to a further development of the procedure, partitions can also be moved spontaneously on the data carriers, without requiring a specific reason. For example, such a spontaneous move of the partitions can occur automatically during periods of low utilization of the data processing system. This ensures that data that is no longer needed is overwritten and can therefore no longer be read.
[0020] This procedure should also take into account the free areas (not occupied by partitions) in the mass storage to ensure that the data can no longer be read from these areas.
[0021] When solid-state drives (SSDs) are used for mass storage, it must be taken into account that the internal SSD controller ensures even wear (wear leveling) of the internal memory blocks. This must be considered to ensure that the data cannot be read beyond its intended lifespan.
[0022] With hard drives, the 'old data' may need to be overwritten several times so that it is no longer readable.
[0023] Other advantages of moving partitions include: 1) File fragmentation in the partition no longer exists after copying to a new partition (allowing for faster / more efficient access). 2) Intelligent partition positioning can improve data access to the files (for example, if the partition is positioned at the outer edge of a hard drive or frequently used partitions are placed close together on a hard drive). 3) With a RAID controller: When an entire hard drive (volume) is rebuilt, the structure of the RAID volume can be changed (for example, the stripe size), and then the partitions can be recreated and populated. Due to the new structure, it is very difficult to reconstruct the 'old' data.
[0024] There should also be a function to destroy all partitions containing data if the system (server) is no longer to be used.
[0025] It is also possible to encrypt individual partitions, for example, where data throughput requirements are low but high security is essential. However, the encryption key should be stored on a separate (secure) partition. Encrypting individual partitions helps to keep the increased demand for system resources manageable.
[0026] This invention allows for reduced server costs for the customer while simultaneously achieving higher security. Furthermore, electricity costs would be reduced since little or no data needs to be encrypted and decrypted.
[0027] Exemplary embodiments of the invention are explained in more detail below with reference to the drawing.
[0028] They show: Fig. 1 a block diagram of a device system with an associated data processing system; Fig. 2. A diagram of the storage usage of a mass storage device; Fig. 3. A diagram showing a changed memory allocation; Fig. 4 a schematic representation of different process levels in the execution of the method according to the invention; Fig. 5 to Fig. 7 Flowcharts for examples of actions within the framework of the method according to the invention; and Fig. 8 (AC) a flowchart as an example of actions for moving partitions for speed optimization.
[0029] In Fig. Figure 1 shows a block diagram of a printing system or print center with two printers 10 and a data processing system 12. The data processing system 12 is shown here as a single block, symbolizing a mass storage device belonging to the data processing system. This data processing system 12 is used by several external users 14 as well as internal users 16 and 18. The external users 14 are, for example, customers of the print center who submit print jobs to the system to be printed with the printers 10 and, if necessary, process previously submitted but not yet completed print jobs. The internal users are, on the one hand, so-called workflow users 16, i.e., people, e.g.,Employees of the printer center, and / or software agents, who are each responsible for specific workflows within the system, and on the other hand, printer operators 18 (persons or software agents), who each control the operation of one of the printers 10.
[0030] For each of these users 14, 16, 18, at least one partition 20, 22, 24 is set up in the data processing system 12, which is accessible only to the user(s) to whom the respective partition is assigned. The partitions 20 are customer partitions, each specifically set up for a single external user 14 (customer), in which each customer can store their print jobs. The partitions 22 are workflow partitions, which are required by the workflow users 16 to complete their tasks, and the partitions 24 are printer partitions from which the printer operators 18 retrieve the print data for their respective printer 10.
[0031] When a print job is to be executed, at least one of the workflow users 16 is granted access to the customer partition of customer 14, whose job is to be processed. In this case, one of the workflow partitions 22 for this user can be identical to the customer partition 20. The workflow user 16 then converts / supplements, for example, the print job data into a format that the selected printer operator 18 can process. In order to store the print data thus generated in the corresponding printer partition 24, the workflow user 16 can also be temporarily granted access to the relevant printer partition 24.
[0032] While the structure of internal users 16, 18 can be largely static, it is understood that the structure of external users 14 exhibits greater dynamism because new customers are added and old customers are lost over time, or because certain customers only have to complete a print job sporadically or even just once. Accordingly, the structure of the customer partitions 20 can also vary over time.
[0033] In Fig. Figure 2 schematically shows an example of the storage allocation of a mass storage device 26, which is formed by three data carriers, e.g. hard drives 28, 30, 32. The currently unused storage space on each hard drive is shown in Fig. Figure 2 shows the hatched areas. In the example shown, hard drive 28 contains an operating system partition (OS), a program partition (P) for installed applications (programs), a data partition (D) for data required by the applications but not belonging to specific print jobs, such as media databases and the like, and three customer partitions (20), which are additionally labeled K1, K2, and K3 for clarity. Hard drive 30 contains two workflow partitions (22), labeled WF1 and WF2, and hard drive 32 contains two printer partitions (24), one for each of the printer operators (18). These partitions are additionally labeled O1 and O2.
[0034] However, this memory allocation is not static, but can vary over time, as exemplified in Fig. Figure 3 is shown. Those partitions that are in contrast to the situation in Fig. 2 were “postponed”, i.e., those in Fig. 3. A different storage area is assigned to the respective data carrier. Fig. Figure 3 shows the fine hatching. It is evident that both workflow partitions, WF1 and WF2, and both printer partitions, O1 and O2, have been moved. These moves can be caused, for example, by differing requirements for the size of the respective partitions. However, they can also occur spontaneously during periods of low workload on the data processing system to ensure that the memory contents are overwritten over time and / or to make it more difficult for hackers to find certain data.
[0035] The customer partitions 20 are also in Fig. The partition was moved to position 3. In the example shown, partition K1 now occupies an area that overlaps with the previous position of partition K3. Partition K2 was allocated a larger storage area, and partition K3 was deleted and replaced by a new partition K4 for a new client.
[0036] In Fig. Figure 4 is a highly schematic representation of a typical workflow. A user, in this example an external user 14, logs into a software application 34 (program). The software application 34 then uses functions of the operating system 36 and the data processing system 12 to create a new partition in the mass storage 26, mount an existing partition, or delete an existing partition and replace it with a new one.
[0037] In Fig. Figure 5 illustrates such a workflow in more detail as a flowchart. In step S1, an external user 14 logs into the software application 34. In step S2, a customer partition is then mounted for this user. In step S3, it is checked whether the mounted partition is (almost) full. If so (yes), the partition is replaced by a new, larger partition in step S4. If there is still sufficient storage space available on the old partition (no), step S4 is skipped. It is also possible that in step S4 the original partition is not modified, but a new, additional partition is created.
[0038] Step S5 is a step that is executed after step S4 or immediately after step S3 and summarizes the user's work on the partition. Once the user has finished their work, they log out of the software application in step S6. In step S7, the partition is then unmounted so that it is no longer associated with that user.
[0039] The operating system 36 performs the mounting of the partition, but does not initiate it itself. The initiative to mount or unmount the partition comes from the software application 34.
[0040] Before the partition is replaced in step S4, it can be checked whether it is being used by other users or software agents.
[0041] Unmounting a partition can be triggered not only by step S6, but also, for example, by software application 34 crashing or by the user being forcibly logged out due to a period of inactivity. If necessary, more than one partition can be mounted / unmounted.
[0042] In Fig. Figure 6 shows a typical workflow for an internal user (16). It is assumed that the user is permanently logged in. In step S10, the user completes a specific workflow. In step S11, it becomes apparent that a particular action the user wants to perform requires access to partitions that are not yet mounted, for example, a customer partition and / or a printer partition. Consequently, in step S12, the necessary partitions are mounted so that they are accessible to the user in question but not to other users for whom these partitions have not been mounted.
[0043] One of the partitions mounted in step S12 is a target partition to which data will be written. In this case, step S13 checks whether the target partition is already (almost) full. If so (yes), this partition is replaced in step S14. Otherwise (no), step S14 is skipped, and the intended action is then performed in step S15. Following step S15, the partitions that are no longer needed are unmounted, and the workflow continues with step S10. It is also possible that in step S14 the original partition is not modified, but a new, additional partition is created as the target.
[0044] Before replacing the partition in step S14, it can be checked whether it is being used by other users or software agents.
[0045] Fig. Figure 7 illustrates a typical workflow for a printer operator 18. In step S20, the printer operator 18 logs on to the software application 34. In step S21, the printer partition 24 is then mounted for this operator. In step S21, the data retrieved from the printer partition 24 is printed. After the printing process is complete, the printer operator logs off in step S23, whereupon the printer partition is unmounted in step S24. If necessary, more than one partition can be mounted.
[0046] Fig. Section 8 illustrates further advantages of moving partitions, in particular point 2), intelligent positioning of the partition, which is mentioned as a further advantage in the introductory description.
[0047] Step S30 determines the data throughput required for transferring data to the printer for each partition. Step S31 checks whether data security measures, such as moving partitions, are mandatory. Steps S32 and S33 assess whether such measures are necessary in the specific case, for example, because the printer connection is currently unavailable, or whether they are at least advisable, such as because moving partitions could improve performance. If none of these questions can be answered affirmatively, the routine terminates.
[0048] Otherwise, step S34 determines the order of partition changes. For example, partitions should be created in the order in which data throughput decreases from highest to lowest throughput.
[0049] Step S35 checks whether any further steps are necessary or possible to modify the partition structure. If so, step S36 determines the time required to copy the data into the partitions. This is then supplemented by the time needed to copy the data to be backed up from the partition to the target location. The application software is then informed that the partitions are currently unavailable.
[0050] Step S37 checks whether the desired goal can be achieved simply by moving the partition. If so, step S38 determines the time required to move the partition. Step S39 then checks whether copying the data is faster than moving the partition. If not, step S40 checks whether sufficient time is available to move the partition. If this condition is also met, step S41 moves the partition, and the program returns to step S35 to check if any further steps are necessary. If step S40 shows that there is insufficient time to move the partition, the program immediately returns to step S35.
[0051] If step S37 determines that moving the partition is insufficient, or if step S39 shows that copying is faster than moving, step S42 checks whether there is enough time for copying and enough storage space for the data backup. If not, the process returns to step S35. Otherwise, step S43 backs up the data on the partition to another location. Some data may not need to be backed up, for example, because it is already present on the "converter hard drive."
[0052] In step S44, the partition is deleted, and in step S45, a new partition is created, into which the data is then copied in step 46. Afterwards, the program returns to step S35 to check whether any further operations need to be or can be performed on the partitions.
[0053] If the necessary or appropriate measures for all partitions are completed (result “no” in step S35), the application software is informed in step S47 that the partitions are available again. QUOTES INCLUDED IN THE DESCRIPTION
[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature
[0000] DE 102019117538
[0002] DE 102016125023
[0003]
Claims
[1] Method for operating a device system comprising an electronic data processing system (12) with a mass storage device (26) accessible to multiple external users (14), characterized by the following steps: - upon successful login of an external user (14): automatic creation of a partition (20) of the mass storage visible only to that user, and - upon termination of interaction with the user (14): automatic unmounting of the partition. [2] Method according to claim 1, comprising the step of mounting a partition designated as a workflow partition (22) at the request of an internal user (16). [3] Method according to claim 1 or 2, wherein the device system is a printer system comprising at least one printer (10). [4] Method according to claim 3, comprising the step of mounting a partition designated as a printer partition (24) upon request of a printer operator (18). [5] Method according to any of the preceding claims, comprising the step of checking whether a mounted or to-be-mounted partition provides sufficient storage space and, if this is not the case, comprising the step of replacing this partition with a new, larger partition. [6] Method according to any of the preceding claims, comprising the step of automatically moving the storage locations assigned to a partition in the mass storage (26). [7] Method according to claim 5 or 6, wherein the data throughput required for the transfer of the data per partition is determined, and the partitions are created in the order in which the data throughput decreases from highest to lowest throughput. [8] Method according to claim 5, 6, or 7, wherein it is checked whether data security measures necessarily require the moving of partitions. [9] Printing system comprising at least one printer (10) and an electronic data processing system (12) comprising a mass storage device (26) accessible to multiple external users (14), characterized by , that the data processing system (12) is programmed to execute the method according to any one of claims 1 to 8. [10] Software product comprising computer-executable program code which, when run on a computer to control a device system, causes the computer to execute the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Remote Automated Volume Mounting
US20070244989A1
Method and apparatus for centrally managed encrypted partition
US20080107262A1
Creating distinct user spaces through mountable file systems
US20120102564A1