Dynamic determination of retention period for digital content
By generating metadata for digital content and using machine learning modules to train retention periods, the storage of portable computing devices is dynamically managed, solving the problem of storage capacity limitations, achieving automated file retention and deletion, and improving the user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- INTERNATIONAL BUSINESS MACHINE CORPORATION
- Filing Date
- 2022-03-07
- Publication Date
- 2026-05-26
AI Technical Summary
Portable computing devices have limited storage capacity, which forces users to manually delete files to free up space. Cloud storage may also reach its capacity limit, resulting in an inconvenient and time-consuming user experience.
By generating metadata for digital content, using machine learning modules to train retention periods, dynamically determining the retention period of digital content, automatically managing file retention and deletion in storage, and dynamically adjusting retention periods based on access patterns and attributes.
It reduces the frequency of users manually deleting files, optimizes storage space utilization, improves user experience, and avoids the annoyance of storage capacity limitations.
Smart Images

Figure CN117063189B_ABST
Abstract
Description
Background Technology
[0001] 1. Field of Invention
[0002] This invention relates to computer program products, systems, and methods for dynamically determining the retention period of digital content.
[0003] 2. Description of related technologies
[0004] Portable computing devices, such as smartphones and tablets, have limited storage capacity. These devices typically come pre-installed with file-sharing apps, chat apps, and social media apps that receive and send messages with attached digital content (such as pictures, videos, web pages, etc.). As the number of file attachments received with messages increases, the storage of a portable computing device may be fully utilized. Furthermore, attached cloud storage can also reach its capacity limit as digital media files are added. Once users notice that storage has reached a critical level, they may have to manually start deleting files to free up space, which can be very time-consuming and an overall unpleasant user experience.
[0005] There is a need in the field for improved techniques for managing the retention of files in storage, such as digital media files received via messaging and file-sharing applications. Summary of the Invention
[0006] A computer program product, system, and method are provided for dynamically determining the retention period of digital content. Metadata for instances of digital content stored in a computing device is generated, the metadata including user access patterns of the digital content, attributes of the digital content, and the retention period during which the stored digital content is retained in the memory. A machine learning module is trained with input including the metadata for instances of the digital content to generate the retention period of the digital content. Input including metadata determined based on digital content received after training the machine learning module is provided to the machine learning module to generate an output retention period for the digital content received after training. The output retention period is used to determine when to delete the digital content received after training from the memory. Attached Figure Description
[0007] Figure 1 An embodiment of a computing device in which digital content is managed is shown.
[0008] Figure 2 An example of data content metadata is shown.
[0009] Figure 3 An example of a digital content retention period is shown.
[0010] Figure 4 An embodiment of the operation for determining the retention period of received digital content is shown.
[0011] Figure 5 An example of operations for managing digital content with regard to quarantine and deletion periods is shown.
[0012] Figure 6 An example of operations for handling user access to digital content, including requests to inspect digital content and remove digital content from isolation, is shown.
[0013] Figure 7 An example of the operation for training a retainable machine learning module (MLM) is shown.
[0014] Figure 8 An example of an operation for handling user deletion of digital media content is shown.
[0015] Figure 9 This shows what can be achieved. Figure 1 The computing environment of the components. Detailed Implementation
[0016] The described embodiments provide improvements to computer technology for managing the retention of digital content received on computing devices, such as portable computing devices, in the memory of those devices. With the proliferation of file sharing via messaging and file-sharing applications, local and cloud storage used by portable computing devices receiving communications may reach storage capacity limits. The described embodiments provide improved techniques for assigning retention periods to digital content (including multiple instances of digital content attached to messages) based on access patterns and attributes. In the described embodiments, a retention machine learning module is trained with inputs of metadata of digital content in a training set including the digital content, to produce a retention duration for the digital content as output. Subsequently, when digital content is received, such as via messaging and file sharing, the retention machine learning module can be used to determine the retention period of the digital content based on the digital content metadata and the classification of the digital content. The determined retention period can then be used to determine when the digital content expires and is deleted. In this way, users do not need to manually delete files received in communications periodically, as a retention period can be assigned to the received digital content using a retention machine learning module based on the digital content's metadata and classification.
[0017] Figure 1A computing device 100, one of the embodiments of which is illustrated, is shown. The computing device 100 includes a processor 102 and a main memory 104. The main memory 104 includes various program components and data structures, including: an operating system 108 for managing the operation of the system 100 and the flow of operations between its components; and a retention manager 110 for managing the overall flow of operations for determining the retention period for reserving and storing received digital content 112 in a digital content memory 114. The retention manager 110 provides the received digital content 112 to a content parser 116 so that, if the digital content has parsing segments 1181, the content is parsed into parsing segments 1181, 1182…118n that include different files or portions of the digital content 112. For example, if the digital content 112 includes a message, the message may be one or more attachments to different files with different media formats. The message and the attachments include parsing segments 1181, 1182…118n. Additionally, the digital content 112 may include a compressed file having multiple segments 118 or different files.
[0018] The parsed fragment 118 or a single digital content 112 file is provided to the ML analysis tool selection module 120, which selects machine learning (ML) analysis tools 1202…120m. The ML analysis tools 1202…120m are capable of annotating and classifying the content of the provided digital content 112 or parsed fragment 118. For example, if fragment 118i or digital content 112 includes text, the ML analysis tool selection module 120 may include a natural language processor (NLP) 1201 (such as, for example, the Watson™ Natural Language Processor program) which determines the classification of the input fragment 118i or digital content 112. For other types of media formats, different ML analysis tools 1202…120m and classification programs can be used to classify digital content 112 or fragment 118i from different media formats (e.g., still images, videos, audio, etc.) into one or more classifiers, such as image and video analysis, deep learning. The result of the ML analysis tool selection module 120 is a fragment classification 122, which includes one or more fragment classifications 1221, 1222, ..., 122n that provide machine learning classifications of the content of parsed fragments 1181, 1182…118n or digital content 112. Classifications 1221, 1222…122n may include hashtags, text, or other classification codes. (Watson is a trademark of International Business Machines Corporation worldwide.)
[0019] Digital content 112 is also provided to metadata manager 124 to generate metadata 200i for each individual digital content 112 / each parsed fragment 118i. Fragment classifications 1221, 1222…122n and digital content metadata 200 (one for each fragment 118i) are provided as input to retention machine learning module (MLM) 126 to produce a retention period 300 for digital content 112 or a retention period for each fragment 118i as output.
[0020] Retention period 300 ( Figure 3 The device may include an isolation period 304 and a deletion period 306. The isolation period 304 refers to a time period from the time digital content 112 is received, such that after the isolation period 304 expires, digital content 112 / fragment 118i is indicated as being in isolation. The deletion period 306 refers to a time period from the time digital content 112 is isolated, such that after the deletion period 306 expires, the isolated digital content 112 / fragment 118i is deleted and removed from memory 114. The isolated digital content 112 / fragment 118i may be presented to the user of the computing device 100 in an isolation view 117, including a graphical user interface (GUI), where the user can choose to delete the digital content 112 / fragment 118i from memory 114 or remove it from isolation to remain in memory 114.
[0021] The digital content manager 128 manages access to digital content 112 / fragment 118i to determine when to update metadata 200, and retrains the retained MLM 126 based on the training set of digital content metadata 200.
[0022] Memory 104 may include non-volatile and / or volatile memory types, such as flash memory (NAND dies for flash memory cells), non-volatile dual in-line memory modules (NVDIMM), DIMM, static random access memory (SRAM), ferroelectric random access memory (FeTRAM), random access memory (RAM) drivers, dynamic RAM (DRAM), storage class memory (SCM), phase-change memory (PCM), resistive random access memory (RRAM), spin-transfer torque memory (STM-RAM), conductive bridged RAM (CBRAM), nanowire-based non-volatile memory, magnetoresistive random access memory (MRAM), and other electrically erasable programmable read-only memory (EEPROM) types, hard disk drives, removable memory / storage devices, etc. Memory 114 may include suitable non-volatile memory or storage devices, including those mentioned above.
[0023] In an alternative embodiment, memory 114 may include cloud storage with a maximum capacity, allowing users to limit the retention of digital content to prevent cloud storage accounts from reaching their maximum storage capacity.
[0024] User computing device 100 may include personal computing devices such as laptop computers, desktop computers, tablet computers, smartphones, wearable computers, or other types of computing devices such as servers.
[0025] Typically, program modules (e.g., program components denoted by reference numerals 108, 110, 116, 120, 1201, 1202…120m, 124, 126, and 128) may include routines, programs, objects, components, logic, data structures, etc., that perform specific tasks or implement specific abstract data types. The program components and hardware devices of a computing device may be implemented in one or more computer systems, where, if they are implemented in multiple computer systems, the computer systems can communicate via a network.
[0026] These program components, such as those labeled 108, 110, 116, 120, 1201, 1202…120m, 124, 126, and 128, can be accessed from memory 104 by processor 102 for execution. Alternatively, some or all of these program components, such as those labeled 108, 110, 116, 120, 1201, 1202…120m, 124, 126, and 128, can be implemented in separate hardware devices, such as application-specific integrated circuit (ASIC) hardware devices.
[0027] The functions described as being performed by these program components, labeled 108, 110, 116, 120, 1201, 1202…120m, 124, 126 and 128, can be implemented as program code in fewer program modules than shown, or in more program modules than shown.
[0028] Certain components (such as the program components labeled 126, 1202…120m and Natural Language Processing 1201) can use machine learning and deep learning algorithms, such as decision tree learning, association rule learning, neural networks, inductive programming logic, support vector machines, Bayesian networks, etc. For the artificial neural network program implementation, backpropagation can be used to train each neural network to adjust the weights and biases at the nodes in the hidden layers, thereby producing the computed output. In the backpropagation used to train the neural network machine learning module, the biases at the nodes in the hidden layers are adjusted accordingly to produce the desired output retention period 300 based on a specified confidence level. Backpropagation can include algorithms for supervised learning of artificial neural networks using gradient descent. Given an artificial neural network and an error function, the method can compute the gradient of the error function relative to the weights and biases of the neural network.
[0029] In the backpropagation of a neural network machine learning module, such as retention machine learning module 126, an error tolerance is determined based on the difference between the calculated retention period 300 and the actual time that digital content 112 is retained in memory 114 before being deleted by the user, to produce an adjusted retention period. The bias at the nodes of the hidden layer is adjusted accordingly to reduce the error tolerance in the output retention period 300.
[0030] Figure 1 The arrows between components and objects in memory 104 shown indicate data flow between components.
[0031] The term "user" can refer to a person or a computer process, such as a robot.
[0032] Figure 2An embodiment of data center metadata 200i maintained for digital content 112 / fragment 118i is shown, and includes: data content / fragment ID 202; media format 204 of the content, such as text, audio, video, still image, etc.; data content 206 contained in digital content 112 / fragment 118i, such as messages, compressed containers, etc., to which digital content 112 / fragment 118i is attached; attributes 208 of digital content 112 / fragment 118i, including the originator of the content, the sender of the transmission of digital content 112 / fragment 118i, and a selection module 1 by an ML analysis tool for data content 112 / fragment 118i. 20 generates one or more data content categories 210, such as fragment categories 122, 1221, 1222...122n; 212 indicates the number of times the user has accessed digital content 112 / fragment 118i and provides access counts for viewing mode; 214 indicates the reception time of digital content 112 / fragment 118i; 216 indicates the deletion time of digital content 112 / fragment 118i by the user or by automatic deletion; and 218 indicates whether digital content 112 / fragment 118i is in isolation, which occurs after the isolation period 304 of digital content 112 / fragment 118i expires.
[0033] Metadata attribute 208 may include user priority ratings for digital content, additional identifying factors for determining content re-access and viewing patterns, and identifying factors for determining user content deletion patterns. Attribute 208 may indicate related messages and digital content, with specific digital content being part of those related messages and digital content, such as part of a set of messages forming a message thread based on an initial message.
[0034] Figure 3 An embodiment of a retention period 300i generated by retention MLM 126 for digital content 112 / fragment 118i is shown, and the retention period 300i includes: a digital content (or fragment) identifier (ID) 302 for which the retention period 300i is generated for the digital content 112 / fragment 118i; a generated quarantine period 304; and a generated deletion period 306. The entire retention period of the digital content 112 / fragment 118i may include the sum of the quarantine period 304 and the deletion period 306.
[0035] The same segments 1181...118n containing data content 206 can be accessed and deleted at different times and have different retention periods 300i. Furthermore, the retention period 300i can instruct the archiving of certain digital content so that it is never deleted. In other embodiments, the retention period 300i can include a single time period indicating when the digital content will be deleted after being retained for the retention period.
[0036] Figure 4An embodiment of the operation performed by a digital content manager 128, a retention manager, a content parser 116, a metadata manager 124, and a retention MLM 126 to determine the retention period 300i for received digital content 112 is illustrated. Upon receiving (in block 400) digital content 112 (such as in a message sent via the Internet or a network), the metadata manager 124 determines (in block 402) the attributes 208 of the digital content (e.g., originator, sender, metadata embedded in the content, sender group, relationship to other digital content, related calendar events (e.g., national holidays, personal calendar events such as birthdays, social events, etc.)) and adds them to the digital content metadata 200i for the received digital content 112 as part of attribute 208. The content parser 116 determines (in block 404) whether digital content 112 consists of multiple fragments with different or the same media formats. If not, the ML analysis tool selection module 120 determines (at block 406) the ML analysis tools (1202…120m) associated with the media format 204 of the received digital content 112. The determined ML analysis tools (1202…120m) (at block 408) process the digital content 112 and determine one or more categories of the content of the digital content 112, and (at block 410) store the determined data content category 210 in metadata 200i.
[0037] If (in block 404) digital content 112 has multiple fragments 1181...118n, then content parser 116 parses (in block 412) the received digital content 112 into fragments 1181...118n. For each fragment 118i, metadata manager 124 generates (in block 414) fragment metadata 200i, including indications of the containing digital content 206 (e.g., a message) that contains fragment 118i. For each fragment 118i, the operations of blocks 416-418 are performed (in block 416) to determine the fragment classification 122i of fragment 118i.
[0038] If, from block 410 or 416, no digital content 112 is received during the training period (for which data is collected to form the training set for training retention MLM 126), the retention manager 110 provides (in block 420) the generated metadata 200i and data content classification 210 of the received digital content 112 / fragment 118i as input to retention MLM 126 to output the calculated retention period 300i. Retention manager 110 saves (in block 422) the retention period 300i output by retention MLM 126 for this input in metadata 200i. Retention period 300i may include isolation period 304 and deletion period 306. An isolation period timer is started (in block 424) to move the digital content to isolation after its expiration. If digital content is received during the training period (in block 418), control ends.
[0039] use Figure 4 In this embodiment, machine learning modules and artificial intelligence are used to classify digital content and any fragments within it to provide metadata about the digital content / fragments to the retention MLM 126 to determine the retention period for the digital content. Because the retention MLM 126 is trained using a dataset of how long files are retained, their MLM classifications, and metadata, the MLM 126 is configured to output the retention period based on observed user access and deletion patterns to optimize the duration for which the digital content is retained.
[0040] Figure 5 An embodiment is illustrated in which the operation of digital content manager 128 manages digital content 112 and fragment 118i held in memory 114 is performed. If (in block 502) the isolation period 304 of digital content 112 / fragment 118i has expired, an isolation flag 218 is set (in block 504) to indicate that digital content 112 / fragment 118i is isolated until it is deleted. A deletion period timer is started (in block 506) so that digital content 112 / fragment 118i is deleted from memory 114 after the deletion period timer expires. If (in block 508) the deletion period 306 has expired, the metadata 200i for digital content 112 / fragment 118i is updated to indicate deletion time 216, and then the content is deleted from memory 114.
[0041] use Figure 5 In this embodiment, digital content is added to quarantine after the quarantine period since the file was received has expired. The file is then deleted from quarantine after the deletion period 306 expires. While a file is in quarantine, the user can access it to prevent deletion, thus allowing the user to prevent the deletion of digital content that they want to keep for a longer period.
[0042] Figure 6An embodiment of the operation performed by the Digital Content Manager 128 and the Retention MLM 126 to process user requests for access to digital content 112 / fragment 118i is illustrated. Upon receiving (in block 600) a user's access to digital content 112 / fragment 118i (e.g., a read request or a request to remove digital content from isolation), the number of accesses 212 is incremented (in block 602) in the metadata 200i for the accessed digital content 112 / fragment 118i, which may be accessed in or outside isolation. If (in block 604) the accessed digital content 112 / fragment 118i is in isolation, as indicated by isolation flag 218, then isolation flag 218 is set to indicate that it is not in isolation. The Digital Content Manager 128 can then determine (in block 608) a new retention period 300i for the digital content 112 / fragment 118i, including a quarantine period 304 and a deletion period 306, which is longer than the previously determined retention period 300i because the user has chosen to remove the digital content from quarantine for a longer period. For example, there may be a predetermined number of retention period levels with quarantine and deletion periods, and the new retention period may follow the previously determined retention within that set of predetermined retention period levels. The retention MLM 126 is provided (in block 610) with metadata 200i and data content classification 210 for the accessed digital content 112 / fragment 118i to produce the determined new retention period 300i as output. If (in block 604) the digital content 112 / fragment 118i is not in quarantine, control ends.
[0043] use Figure 6 In one embodiment, when accessing digital content, the access count 212 is incremented, and if the digital content is isolated, a new, longer retention period is determined to retrain the retention MLM 126. This retrains the retention MLM 126 to output a longer retention period for digital content with attributes 208 and data content classification 210 that are being isolated. The accessed digital content can then be retained for the new, longer retention period.
[0044] Figure 7An embodiment of the operation performed by a retention manager 110 and a retention MLM 126 manager to initiate training of a retention MLM 126 based on a training dataset collected over a period of time is illustrated. During the construction of the training dataset, digital content metadata 200 is generated for the received digital content, and deletion times are indicated to build the training set. At the start of training (in block 700), for each instance of digital content 112 / fragment 118i deleted during the period of collecting data for the training set, the retention manager 110 determines (in block 702) the actual retention period based on the deletion time 216 minus the reception time 214. For each instance of digital content 112 / fragment 118i deleted during the training period, the retention manager 110 provides (in block 704) the metadata 200i of the digital content 112 / fragment 118i and the data content classification 210 as inputs to the retention MLM 126 to be trained, producing the actual retention period or quarantine period and deletion period as outputs.
[0045] use Figure 7 In one embodiment, a training set of collected information about the deleted digital content / fragments is provided to the retention MLM 126 to output the actual retention period. In this way, the retention MLM 126 is trained to output the retention period based on the data content classification 210 determined by the attributes 208 of the digital content 112 / fragment 118i and the actual user access and deletion patterns of the received digital content. This allows the retention MLM 126 to be optimized and retained for the duration for which content may be accessed. Content that is no longer likely to be accessed can be deleted from memory 114 to save space on memory 114, which may have limited space.
[0046] Figure 8 An embodiment of an operation performed by a digital content manager 128 and a retention MLM 126 to process a user request to delete digital content 112 / fragment 118i is illustrated. In response to a request to delete digital content 112 / fragment 118i (in block 800), the digital content manager 128 indicates (in block 802) a deletion time 216 in the metadata 200i for the deleted digital content 112 / fragment 118i, and calculates an actual retention period including the deletion time 216 minus the reception time 214. If (in block 804) the actual retention period differs from a machine-determined retention period 300i (such as a quarantine period 304 and a deletion period 306), then (in block 806) the metadata 200i and data content classification 210 are provided as input to retrain the retention MLM 126, thereby producing the actual retention period as output. If the retention period 300i determined by the machine does not differ significantly from the actual retention period, then control ends without retraining the retention MLM 126, because the retention MLM 126 produces an accurate retention period.
[0047] In an alternative embodiment, it can be executed periodically. Figure 8 The operation is to construct a retraining dataset of recently deleted digital content, thereby periodically performing retraining of retained MLM 126.
[0048] use Figure 8 In one embodiment, information about the actual retention period determined when a file is deleted can be used to determine whether to retrain the retention MLM 126 to adjust the output retention period to the actual retention period to be retrained based on the metadata and classification of the deleted digital content. Figure 8 The implementation allows the retention MLM126 to self-regulate during normal digital content management operations to reflect actual user deletion and access patterns of digital content with digital content metadata.
[0049] This invention can be a system, method, and / or computer program product. A computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions thereon for causing a processor to perform aspects of the invention.
[0050] Computer-readable storage media can be tangible devices capable of retaining and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example, but not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable optical disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices such as punch cards or recessed structures with instructions recorded thereon, and any suitable combination of the foregoing. As used herein, computer-readable storage media should not be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.
[0051] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a suitable computing / processing device, or downloaded via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network) to an external computer or external storage device. The network may include copper cables, optical fibers, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to a computer-readable storage medium within the suitable computing / processing device.
[0052] Computer-readable program instructions used to perform the operations of this invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Java, Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, to perform aspects of this invention, electronic circuits, including, for example, programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), may execute computer-readable program instructions to personalize the electronic circuits by utilizing state information from the computer-readable program instructions.
[0053] Various aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0054] These computer-readable program instructions may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / actions specified in one or more blocks of a flowchart and / or block diagram. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and / or other devices to operate in a particular manner, such that the computer-readable storage medium in which the instructions are stored includes an article of writing comprising instructions for implementing aspects of the functions / actions specified in one or more blocks of a flowchart and / or block diagram.
[0055] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus or other device to cause a series of operational arrangements to be performed on the computer, other programmable apparatus or other device to produce a computer-implemented process, such that the instructions, which execute on the computer, other programmable apparatus or other device, perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0056] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing a specified logical function. In some alternative embodiments, the functions marked in the blocks may not appear in the order indicated in the figures. For example, two blocks shown consecutively in a figure may actually execute substantially simultaneously, or sometimes the blocks may execute in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, as well as combinations of blocks in the block diagrams and / or flowcharts, can be implemented by systems based on dedicated hardware that can perform the specified functions or actions, or perform combinations of dedicated hardware and computer instructions.
[0057] Computing device 100 Figure 1 The computing components can be used in one or more computer systems (such as...) Figure 9 The computer system / server 902 shown is implemented in the general context of computer system executable instructions, such as program modules, that are executed by the computer system. Typically, program modules may include routines, programs, objects, components, logic, data structures, etc., that perform specific tasks or implement specific abstract data types. The computer system / server 902 can be practiced in a distributed cloud computing environment, where tasks are performed by remote processing devices linked via a communication network. In a distributed cloud computing environment, program modules may reside in local and remote computer system storage media, including memory storage devices.
[0058] like Figure 9 As shown, the computer system / server 902 is illustrated as a general-purpose computing device. Components of the computer system / server 902 may include, but are not limited to, one or more processors or processing units 904, system memory 906, and a bus 908 that couples various system components, including system memory 906, to the processing unit 904. The bus 908 represents one or more of several types of bus architectures, including memory buses or memory controllers, peripheral buses, accelerated graphics ports, and processor or local buses using any of various bus architectures. By way of example and not limitation, these architectures include the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MCA) bus, the Enhanced ISA (EISA) bus, the Video Electronics Standards Association (VESA) local bus, and the Peripheral Component Interconnect (PCI) bus.
[0059] Computer system / server 902 typically includes a variety of computer system readable media. Such media can be any available media that can be accessed by computer system / server 902, and it includes volatile and non-volatile media, removable and non-removable media.
[0060] System memory 906 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 910 and / or cache 912. Computer system / server 902 may also include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 913 may be provided for reading from and writing to non-removable, non-volatile magnetic media (not shown, and generally referred to as "hard disk drives"). Although not shown, disk drives for reading from and writing to removable, non-volatile disks (e.g., "floppy disks") and optical disk drives for reading from or writing to removable, non-volatile optical disks such as CD-ROMs, DVD-ROMs, or other optical media may be provided. In such instances, each may be connected to bus 908 via one or more data media interfaces. As will be further described and depicted below, memory 906 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of embodiments of the invention.
[0061] A program / utility 914 having at least one set of program modules 916, along with an operating system, one or more application programs, other program modules, and program data, may be stored in memory 906 (by way of example and not limitation). Each of the operating system, one or more application programs, other program modules, and program data, or some combination thereof, may include an implementation of a networking environment. Components of computer 902 may be implemented as program modules 916, which generally perform the functions and / or methods of embodiments of the invention as described herein. Figure 1 The system can be implemented in one or more computer systems 902, wherein if they are implemented in multiple computer systems 902, the computer systems can communicate via a network.
[0062] The computer system / server 902 can also communicate with one or more external devices 918, such as a keyboard, pointing device, display 920, etc.; one or more devices that enable a user to interact with the computer system / server 902; and / or any device that enables the computer system / server 902 to communicate with one or more other computing devices (e.g., a network interface card, modem, etc.). This communication can occur via input / output (I / O) interface 922. Furthermore, the computer system / server 902 can communicate with one or more networks, such as a local area network (LAN), a general wide area network (WAN), and / or a public network (e.g., the Internet), via network adapter 924. As depicted, network adapter 924 communicates with other components of the computer system / server 902 via bus 908. It should be understood that, although not shown, other hardware and / or software components can be used in conjunction with the computer system / server 902. Examples include, but are not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archive storage systems.
[0063] Letter codes (such as i, m, and n) are used to specify the number of element instances. When used with identical or different elements, they can represent a variable number of element instances.
[0064] The terms “embodiment,” “multiple embodiments,” “this embodiment,” “these embodiments,” “one or more embodiments,” “some embodiments,” and “an embodiment” refer to “one or more (but not all) embodiments of the invention” unless otherwise expressly stated.
[0065] The terms “including,” “comprising,” “having,” and variations thereof mean “including, but not limited to,” unless otherwise expressly stated.
[0066] Unless otherwise expressly stated, the list of items does not imply that any or all items are mutually exclusive.
[0067] The terms “a,” “an,” and “the” mean “one or more” unless otherwise explicitly stated.
[0068] Unless otherwise explicitly stated, devices communicating with each other do not need to communicate continuously. Furthermore, devices communicating with each other may communicate directly or indirectly through one or more intermediaries.
[0069] The description of embodiments having several components that communicate with each other does not imply that all such components are required. Rather, various optional components are described to illustrate various possible embodiments of the invention.
[0070] When a single device or product is described herein, it will be apparent that more than one device / product (whether or not they collaborate) may be used in place of a single device / product. Similarly, in cases where more than one device or product (whether or not they collaborate) is described herein, it will be readily understood that a single device / product may be used in place of more than one device or product, or that a different number of devices / products may be used in place of the number of devices or programs shown. The functionality and / or features of a device may alternatively be embodied by one or more other devices not explicitly described as having such functionality / features. Therefore, other embodiments of the invention do not necessarily need to include the device itself.
[0071] For purposes of illustration and description, the above description of various embodiments of the invention has been given. It is not exhaustive, nor is it intended to limit the invention to the precise forms disclosed. Many modifications and variations are possible in accordance with the above teachings. The scope of the invention is not defined by this detailed description but by the appended claims. The foregoing description, examples, and data provide a complete description of the manufacture and use of the components of the invention. Since many embodiments of the invention can be produced without departing from its scope, the invention resides in the following appended claims.
Claims
1. A computer program product for managing digital contents in memory used by a computing device, wherein, The computer program product includes program instructions that, when executed, cause an operation, the operation including: Determine whether the received digital content includes fragments of digital content, wherein the fragments of digital content include individual instances of digital content; In response to determining that the received digital content includes the segment of digital content, the received digital content is parsed into the segment; Generate metadata for the fragment, the metadata including the user access patterns of the fragment on the computing device and the attributes of the fragment; The actual retention period of the fragment is determined based on the retention period of the fragment in the memory; The machine learning module is trained with input including the metadata for the fragment to produce the actual retention period of the fragment; After training the machine learning module, input including metadata determined based on the received fragments is provided to the machine learning module to generate an output retention period for the fragments received after the training; and The output retention period is used to determine when to delete the segment received after the training from the memory.
2. The computer program product according to claim 1, wherein, The attributes of the fragment include at least one of the following: the originator of the fragment; the sender who sends the fragment to the computing device in a message; metadata embedded in the fragment when it is sent to the computing device; the classification of the fragment as determined by a classifier; the group to which the sender belongs; the relationship of the fragment to previously received fragments; and associated calendar events.
3. The computer program product according to claim 1, wherein, At least one instance of the digital content includes a message with an attached file, and wherein the fragment includes the message and the attached file, and wherein the machine learning module generates different retention periods for the fragment.
4. The computer program product according to claim 3, wherein, The operation also includes: Natural Language Processing (NLP) is performed on the content of the message to determine a message classification based on the NLP processing of the message content, wherein the message classification is provided as input to train the machine learning module to produce an output retention period for including the fragment of the message.
5. The computer program product according to claim 1, wherein, The operation also includes: For a fragment of the digital content, based on the media format of the content in the fragment, a machine learning analysis tool is used to generate a fragment classification of the content of the fragment, wherein the metadata generated for the fragment and input into the machine learning module includes the fragment classification determined by the machine learning analysis tool for the fragment.
6. The computer program product according to claim 1, wherein, The output retention period includes an isolation period and a deletion period for the retention period of the segment, wherein the segment is indicated to be in isolation after the isolation period expires, wherein the isolated segment is deleted from the memory in response to the expiration of the deletion period that begins when the segment is indicated to be in isolation, wherein training the machine learning module includes: training the machine learning module to generate the isolation period and the deletion period as output based on the input for the segment.
7. The computer program product according to claim 6, wherein, The operation also includes: Receive user selection to remove fragments from isolation to retain them in memory; The fragment to be removed from the quarantine will be indicated as not being in quarantine; Determine a new retention period that is longer than the retention period determined for the fragment to be removed from the isolation; and The machine learning module is provided with input including metadata determined based on the fragments to be removed from the isolation, in order to retrain the machine learning module to produce the new retention period as output.
8. The computer program product according to claim 1, wherein, The operation also includes: Receive the selection to delete the segment for which the machine learning module has determined the retention period; Determine whether the actual retention period of the deleted segment, based on when the segment was deleted, differs from the output retention period; and The machine learning module is retrained using the metadata for the deleted fragments as input to produce the actual retention period as output.
9. A system for managing digital content in a memory used by a computing device, comprising: processor; as well as A computer-readable storage medium having program instructions that, when executed by the processor, cause operations including: Determine whether the received digital content includes fragments of digital content, wherein the fragments of digital content include individual instances of digital content; In response to determining that the received digital content includes the segment of digital content, the received digital content is parsed into the segment; Generate metadata for the fragment, the metadata including the user access patterns of the fragment on the computing device and the attributes of the fragment; The actual retention period of the fragment is determined based on the retention period of the fragment in the memory; The machine learning module is trained with input including the metadata for the fragment to produce the actual retention period of the fragment; After training the machine learning module, input including metadata determined based on the received fragments is provided to the machine learning module to generate an output retention period for the fragments received after the training; and The output retention period is used to determine when to delete the segment received after the training from the memory.
10. The system according to claim 9, wherein, At least one instance of the digital content includes a message with an attached file, and wherein the fragment includes the message and the attached file, and wherein the machine learning module generates different retention periods for the fragment.
11. The system according to claim 9, wherein, The operation also includes: For a fragment of the digital content, based on the media format of the content in the fragment, a machine learning analysis tool is used to generate a fragment classification of the content of the fragment, wherein the metadata generated for the fragment and input into the machine learning module includes the fragment classification determined by the machine learning analysis tool for the fragment.
12. The system according to claim 9, wherein, The output retention period includes an isolation period and a deletion period for the retention period of the segment, wherein the segment is indicated to be in isolation after the isolation period expires, wherein the isolated segment is deleted from the memory in response to the expiration of the deletion period that begins when the segment is indicated to be in isolation, wherein training the machine learning module includes: training the machine learning module to generate the isolation period and the deletion period as output based on the input for the segment.
13. The system according to claim 9, wherein, The operation also includes: Receive the selection to delete the segment for which the machine learning module has determined the retention period; Determine whether the actual retention period of the deleted segment, based on when the segment was deleted, differs from the output retention period; and The machine learning module is retrained using the metadata of the deleted fragments as input to produce the actual retention period as output.
14. A computer-implemented method for managing digital contents in a memory used by a computing device, comprising: Determine whether the received digital content includes fragments of digital content, wherein the fragments of digital content include individual instances of digital content; In response to determining that the received digital content includes the segment of digital content, the received digital content is parsed into the segment; Generate metadata for the fragment, the metadata including the user access patterns of the fragment on the computing device and the attributes of the fragment; The actual retention period of the fragment is determined based on the retention period of the fragment in the memory; The machine learning module is trained with input including the metadata for the fragment to produce the actual retention period of the fragment; After training the machine learning module, input including metadata determined based on the received fragments is provided to the machine learning module to produce an output retention period for the fragments received after the training. as well as The output retention period is used to determine when to delete the segment received after the training from the memory.
15. The method according to claim 14, wherein, At least one instance of the digital content includes a message with an attached file, and wherein the fragment includes the message and the attached file, and wherein the machine learning module generates different retention periods for the fragment.
16. The method of claim 14, further comprising: For a fragment of the digital content, based on the media format of the content in the fragment, a machine learning analysis tool is used to generate a fragment classification of the content of the fragment, wherein the metadata generated for the fragment and input into the machine learning module includes the fragment classification determined by the machine learning analysis tool for the fragment.
17. The method of claim 14, wherein, The output retention period includes an isolation period and a deletion period for the retention period of the segment, wherein the segment is indicated to be in isolation after the isolation period expires, wherein the isolated segment is deleted from the memory in response to the expiration of the deletion period that begins when the segment is indicated to be in isolation, wherein training the machine learning module includes: training the machine learning module to generate the isolation period and the deletion period as output based on the input for the segment.