Patentable/Patents/US-11947495
US-11947495

System and method for providing a file system without duplication of files

PublishedApril 2, 2024
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

Disclosed herein are systems and method for providing a File System (FS) without redundancy for one or more services. In one aspect, an exemplary method comprises, mounting a base image of microservices to a directory, for each of the one or more services, union-mounting a service image on top of the base image, identifying all dependencies associated with the service image, and creating one or more sub-directories for each dependency associated with the service image, for each identified dependency, creating a link between the dependency and the union-mounted service image and base image, and creating, one or more micro-services.

Patent Claims
20 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 2

Original Legal Text

2. The method of claim 1, the plurality of services comprising at least one of: an application, a program and a micro-service.

Plain English Translation

A system and method for managing and executing multiple services in a computing environment. The technology addresses the challenge of efficiently coordinating and deploying diverse software components, such as applications, programs, and microservices, to ensure seamless operation and interoperability. The method involves dynamically allocating resources, monitoring performance, and optimizing execution across a distributed network. Services are categorized based on their functionality, allowing for modular deployment and scalability. The system ensures compatibility between different service types, enabling seamless integration and communication. Performance metrics are continuously collected to adjust resource allocation and improve efficiency. The solution supports both monolithic and microservice architectures, providing flexibility in deployment strategies. By standardizing service interfaces and protocols, the system enhances reliability and reduces integration complexity. The method also includes fault detection and recovery mechanisms to maintain service availability. Overall, the invention provides a robust framework for managing heterogeneous software services in modern computing environments.

Claim 3

Original Legal Text

3. The method of claim 1, the linking being performed using a bind mounts, hard links or symbolic links.

Plain English Translation

A system and method for managing file storage in a computing environment involves linking files or directories between different storage locations to optimize storage usage and access efficiency. The method addresses the challenge of redundant data storage and inefficient file access by creating connections between files or directories in different locations, reducing the need for duplicate copies while maintaining accessibility. These links can be established using bind mounts, hard links, or symbolic links. Bind mounts allow a directory to be mounted at multiple locations, making the same directory accessible from different paths. Hard links create multiple directory entries pointing to the same file data, enabling access through different names. Symbolic links act as pointers to other files or directories, providing flexible referencing. The method ensures that changes to the original file are reflected across all linked instances, maintaining data consistency. This approach is particularly useful in distributed systems, virtual environments, and cloud storage solutions where efficient resource utilization and seamless file access are critical. The linking mechanism enhances storage efficiency by eliminating redundant copies while preserving the ability to access files from multiple locations.

Claim 4

Original Legal Text

4. The method of claim 1, wherein, for each of the plurality of services, the one or more sub-directories for each dependency associated with the service image, the service image corresponding to the service, are created in the union-mounted service image on top of the base image mounted to the directory.

Plain English Translation

This invention relates to containerized application deployment, specifically optimizing dependency management in container images. The problem addressed is the inefficiency of traditional container image layering, where dependencies for multiple services are redundantly stored, increasing image size and deployment time. The solution involves a method for managing service dependencies in a containerized environment. A base image is mounted to a directory, serving as a foundational layer. For each service in a plurality of services, a service image corresponding to the service is processed. For each dependency associated with the service image, one or more sub-directories are created in a union-mounted service image. These sub-directories are layered on top of the base image, allowing dependencies to be shared or overridden as needed. This approach reduces redundancy by reusing common dependencies from the base image while allowing service-specific customizations. The union-mounted service image enables efficient dependency resolution by dynamically combining the base image with service-specific layers. This method minimizes storage and bandwidth usage by avoiding duplicate storage of shared dependencies while maintaining flexibility for service-specific configurations. The technique is particularly useful in microservices architectures where multiple services may share common dependencies but require unique configurations.

Claim 5

Original Legal Text

5. The method of claim 4, wherein the dependency is a package.

Plain English Translation

A system and method for managing software dependencies in a computing environment addresses the challenge of efficiently tracking and resolving dependencies between software components. The method involves identifying a dependency, such as a package, which is a reusable software component that other software relies on to function correctly. The system determines the dependency's compatibility with the target environment, ensuring that the package version, configuration, and other attributes align with the system requirements. It then resolves any conflicts or inconsistencies, such as version mismatches or conflicting dependencies, to ensure smooth integration. The method also includes validating the dependency's integrity and security, verifying that it is free from vulnerabilities or unauthorized modifications. Once validated, the dependency is installed or updated in the target environment, and its performance is monitored to detect any issues post-deployment. This approach ensures that software dependencies are managed systematically, reducing errors and improving reliability in software development and deployment workflows.

Claim 6

Original Legal Text

6. The method of claim 1, further comprising running one or more micro-services on top of the union-mounted service image.

Plain English Translation

A system and method for deploying and managing containerized applications involves creating a service image that combines multiple container images into a single unified image. This union-mounted service image allows for efficient deployment and execution of containerized applications by consolidating dependencies and configurations. The method includes generating the service image by merging the contents of multiple container images, ensuring compatibility and reducing redundancy. The service image is then deployed to a runtime environment where it can be executed as a single unit, simplifying application management and reducing overhead. Additionally, the system supports running one or more microservices on top of the union-mounted service image. These microservices are lightweight, independently deployable components that interact with the unified service image to perform specific functions. By running microservices on the service image, the system enables modular application architectures, allowing for scalable and flexible deployment of complex applications. The microservices can be dynamically added, removed, or updated without affecting the underlying service image, enhancing maintainability and adaptability. This approach optimizes resource utilization and improves performance by leveraging the consolidated dependencies of the service image while maintaining the agility of microservices.

Claim 7

Original Legal Text

7. The method of claim 1, wherein the dependency comprises one or more packages that are intersecting packages, intersecting packages being created in a same directory during the installation.

Plain English Translation

A method for managing software dependencies involves identifying and resolving conflicts between software packages during installation. The method addresses the problem of dependency conflicts that arise when multiple packages require different versions of the same library or component, leading to installation failures or runtime errors. The method detects intersecting packages, which are packages installed in the same directory and share dependencies that may conflict. By analyzing these intersecting packages, the method ensures compatibility and resolves conflicts by selecting appropriate versions or configurations. This approach prevents installation errors and maintains system stability by avoiding version mismatches. The method may also include steps to verify dependency compatibility before installation and to apply patches or updates to resolve conflicts. The solution is particularly useful in environments where multiple software packages must coexist, such as development systems, cloud deployments, or containerized applications. By systematically identifying and resolving intersecting package dependencies, the method ensures smooth software installation and operation.

Claim 8

Original Legal Text

8. The method of claim 1, wherein the files are stored without redundancy, and wherein when the files are stored without redundancy, the files are created only once.

Plain English Translation

This invention relates to a data storage system that eliminates redundancy by ensuring files are stored only once, regardless of how many times they are referenced or accessed. The system addresses the problem of inefficient storage in traditional systems where identical files are duplicated, consuming unnecessary disk space and computational resources. By storing each file only once, the system reduces storage requirements and improves data management efficiency. The method involves a storage process where files are analyzed to detect duplicates. When a file is first encountered, it is stored in a centralized repository. Subsequent attempts to store the same file result in a reference to the existing copy rather than a new storage operation. This ensures that no redundant copies of the same file exist in the system. The system may also include mechanisms to verify file integrity, such as checksums or hashing, to confirm that files are identical before storing them. The invention further includes a retrieval process where requests for files are directed to the centralized repository, ensuring that users access the single stored instance. This approach minimizes storage overhead and speeds up access times by avoiding redundant file operations. The system is particularly useful in environments where large volumes of data are frequently accessed or shared, such as cloud storage, distributed file systems, or collaborative workspaces. By eliminating redundancy, the system optimizes storage efficiency while maintaining data consistency and accessibility.

Claim 9

Original Legal Text

9. The method of claim 8, wherein files that are the same are identified by comparing at least one of: hash values, file names, and build IDs.

Plain English Translation

A method for identifying duplicate files in a software development environment involves comparing files to determine if they are identical. The method compares at least one of hash values, file names, or build IDs to detect duplicates. Hash values are unique numerical representations of file content, ensuring accurate identification of identical files regardless of file names. File names are compared to detect duplicates with the same name, while build IDs are used to identify files generated during the same software build process. This approach helps reduce storage redundancy, improve build efficiency, and prevent inconsistencies in software development workflows by ensuring only unique files are processed or stored. The method is particularly useful in large-scale software projects where duplicate files can slow down builds, consume unnecessary storage, and introduce errors. By leveraging multiple comparison criteria, the method increases the reliability of duplicate detection, ensuring that files are accurately identified as duplicates even if one comparison method fails. This technique is integrated into software build systems to optimize performance and maintain data integrity.

Claim 10

Original Legal Text

10. The method of claim 1, wherein a location is unique for a storage of a given dependency.

Plain English Translation

A system and method for managing software dependencies in a distributed computing environment addresses the challenge of efficiently storing and retrieving dependencies to ensure consistency and reliability in software builds. The method involves storing each dependency in a unique location within a storage system, where the location is determined based on the specific dependency being stored. This ensures that each dependency is stored in a distinct and identifiable location, preventing conflicts and enabling precise retrieval. The storage system may include a distributed file system, a database, or a cloud-based storage service, and the unique location may be determined using a hash function, a unique identifier, or a path-based naming convention. The method further includes verifying the integrity of the stored dependencies and providing access control mechanisms to restrict unauthorized modifications. By storing dependencies in unique locations, the system ensures that different versions of the same dependency can coexist without interference, improving the reliability of software builds and reducing the risk of version conflicts. The method is particularly useful in environments where multiple developers or systems rely on shared dependencies, such as continuous integration/continuous deployment (CI/CD) pipelines or containerized applications.

Claim 11

Original Legal Text

11. The method of claim 1, wherein the identification of the dependency is based on a description of the dependency as one of: a string in a metadata of the service image, a list of file names that are needed, and a checksum of contents of the dependency.

Plain English Translation

A method for identifying dependencies in a service image involves analyzing the image to determine required dependencies. The method examines the service image to detect dependencies based on specific indicators, including a string in the image's metadata, a list of file names that are needed, or a checksum of the dependency's contents. This approach ensures accurate and reliable dependency identification by leveraging multiple verification techniques. The method may also involve generating a dependency graph that maps the relationships between the service image and its dependencies, allowing for efficient dependency resolution and management. By using metadata strings, file lists, or checksums, the method provides a robust way to detect and track dependencies, improving system reliability and reducing errors in dependency resolution. This technique is particularly useful in software deployment and containerized environments where accurate dependency management is critical. The method ensures that all necessary components are correctly identified and included, preventing runtime errors and improving system performance.

Claim 13

Original Legal Text

13. The system of claim 12, the plurality of services comprising at least one of: an application, a program and a micro-service.

Plain English Translation

A system is disclosed for managing and orchestrating multiple services within a computing environment. The system addresses the challenge of efficiently coordinating diverse software components, such as applications, programs, and microservices, to ensure seamless integration and operation. These services may vary in complexity, from full-fledged applications to lightweight microservices, and the system is designed to handle their interactions, dependencies, and execution flows. The orchestration system dynamically allocates resources, monitors performance, and ensures fault tolerance, allowing for scalable and resilient service deployment. By standardizing communication protocols and providing a unified interface, the system simplifies the integration of heterogeneous services, reducing development overhead and improving system reliability. The solution is particularly useful in cloud-native environments where modularity and scalability are critical. The system may also include mechanisms for service discovery, load balancing, and automated scaling to optimize resource utilization and maintain high availability. This approach enhances operational efficiency and enables rapid deployment of new services while maintaining compatibility with existing infrastructure.

Claim 14

Original Legal Text

14. The system of claim 12, the linking being performed using a bind mounts, hard links or symbolic links.

Plain English Translation

A system for managing file storage and access in a computing environment addresses the challenge of efficiently organizing and retrieving files across multiple storage locations. The system enables the linking of files or directories from one storage location to another, allowing users to access the same data from different paths without duplicating storage space. This is particularly useful in distributed systems, cloud storage, or environments where files need to be shared across multiple applications or users while maintaining a single source of truth. The linking mechanism ensures that changes made to a file in one location are automatically reflected in all linked locations, eliminating inconsistencies and reducing storage overhead. The system supports various linking methods, including bind mounts, hard links, and symbolic links. Bind mounts allow directories to be mounted at multiple points in the filesystem, providing access to the same directory from different paths. Hard links create multiple directory entries pointing to the same inode, ensuring that all links reference the same file data. Symbolic links act as pointers to other files or directories, allowing flexible redirection without duplicating the underlying data. By implementing these linking methods, the system enhances file management efficiency, reduces redundancy, and simplifies data sharing across different storage systems or applications. This approach is particularly beneficial in scenarios requiring seamless integration of files across diverse storage environments while maintaining data integrity and consistency.

Claim 15

Original Legal Text

15. The system of claim 12, wherein, for each of the plurality of services, the one or more sub-directories for each dependency associated with the service image, the service image corresponding to the service, are created in the union-mounted service image on top of the base image mounted to the directory.

Plain English Translation

This invention relates to a system for managing service dependencies in a containerized environment, specifically addressing the challenge of efficiently organizing and accessing dependencies for multiple services within a shared base image. The system creates a union-mounted service image that overlays a base image, allowing dependencies to be isolated and managed per service while leveraging a common base. For each service, the system generates one or more sub-directories within the union-mounted service image, each corresponding to a dependency associated with the service's image. These sub-directories are structured on top of the base image, which is mounted to a directory. This approach ensures that dependencies are modular, reducing conflicts and improving maintainability. The system dynamically maps dependencies to their respective services, enabling efficient updates and scalability. The union-mounted architecture allows the base image to remain unchanged while accommodating service-specific dependencies, optimizing storage and performance. This method is particularly useful in microservices architectures where services share a common base but require distinct dependencies. The system enhances flexibility, reduces redundancy, and simplifies dependency management in containerized applications.

Claim 16

Original Legal Text

16. The system of claim 15, wherein the dependency is a package.

Plain English Translation

A system for managing software dependencies in a computing environment addresses the challenge of efficiently tracking and resolving dependencies between software components. The system includes a dependency analyzer that identifies relationships between software packages, modules, or libraries, and a resolver that determines compatible versions of dependencies to ensure proper software functionality. The system also includes a dependency graph generator that creates a visual or data-based representation of these relationships, aiding in dependency management and conflict resolution. Additionally, the system may include a dependency installer that automatically retrieves and installs required dependencies from a repository or network source. The system further includes a dependency validator that verifies the compatibility and correctness of dependencies before installation or execution. In this specific embodiment, the dependency is a software package, which is a distributable unit of software code, libraries, or resources that can be installed and managed as a single unit. The system ensures that all required packages are correctly identified, resolved, and installed, minimizing conflicts and errors in software deployment.

Claim 17

Original Legal Text

17. The system of claim 12, further comprising running one or more micro-services on top of the union-mounted service image.

Plain English Translation

The system involves a containerized computing environment where multiple services are deployed and managed efficiently. The core challenge addressed is the complexity of deploying and maintaining isolated, lightweight services in a scalable manner. The system uses a union-mounted service image, which is a layered file system structure that allows multiple services to share a common base image while maintaining their own isolated configurations and dependencies. This approach reduces storage and deployment overhead while ensuring service isolation. The system further includes running one or more micro-services on top of this union-mounted service image. Micro-services are small, independently deployable units of functionality that communicate with each other to form a larger application. By running them on the union-mounted image, the system ensures that each micro-service operates within its own isolated environment while leveraging shared resources from the base image. This improves efficiency, reduces redundancy, and simplifies updates and scaling. The system may also include mechanisms for dynamically loading or unloading micro-services, managing dependencies, and ensuring secure communication between services. The overall architecture supports rapid deployment, easy maintenance, and scalable service management in cloud-native environments.

Claim 18

Original Legal Text

18. The system of claim 12, wherein the dependency comprises one or more packages that are intersecting packages, intersecting packages being created in a same directory during the installation.

Plain English Translation

This invention relates to software dependency management systems, specifically addressing the challenge of tracking and resolving dependencies between software packages during installation. The system identifies and manages intersecting packages, which are packages installed in the same directory, to ensure proper dependency resolution and avoid conflicts. When a package is installed, the system detects whether it shares a directory with other packages, classifying them as intersecting packages. This classification helps in determining installation order, resolving conflicts, and ensuring that dependencies are correctly satisfied. The system may also track metadata associated with these intersecting packages, such as version numbers or compatibility requirements, to further streamline dependency management. By explicitly handling intersecting packages, the system improves the reliability and efficiency of software installations, particularly in environments where multiple packages may share common directories or resources. This approach reduces installation errors and simplifies dependency resolution for developers and users.

Claim 19

Original Legal Text

19. The system of claim 12, wherein the files are stored without redundancy, and wherein when the files are stored without redundancy the files are created only once.

Plain English Translation

A system for storing files in a data storage environment addresses the problem of redundant file storage, which wastes storage space and computational resources. The system ensures that files are stored without redundancy, meaning each file is created and stored only once, regardless of how many times it is referenced or accessed. This approach eliminates duplicate copies of the same file, optimizing storage efficiency and reducing the overhead associated with managing multiple instances of identical files. The system likely includes mechanisms to detect and prevent the creation of duplicate files, such as checksums or unique identifiers, to verify file uniqueness before storage. By storing files without redundancy, the system minimizes storage requirements, improves data integrity, and enhances retrieval performance. The system may also include features to track file references or metadata to maintain consistency and ensure that all references point to the single stored instance of each file. This method is particularly useful in large-scale storage systems, distributed file systems, or cloud storage environments where redundancy can significantly impact performance and cost.

Claim 20

Original Legal Text

20. The system of claim 19, wherein files that are the same are identified by comparing at least one of: hash values, file names, and build IDs.

Plain English Translation

The system is designed for managing and identifying duplicate files within a computing environment. The problem addressed is the inefficiency and resource consumption caused by storing multiple copies of identical files, which can lead to wasted storage space and increased processing overhead. The system identifies duplicate files by comparing at least one of three attributes: hash values, file names, and build IDs. Hash values provide a unique fingerprint for each file, ensuring accurate identification of duplicates even if file names differ. File names are compared to detect duplicates that may have been saved with different names but contain identical content. Build IDs are used to identify files generated during software builds, ensuring that versions of the same file produced in different builds are recognized as duplicates. By leveraging these attributes, the system efficiently detects and manages duplicate files, optimizing storage and computational resources. The system may also include additional features such as deduplication, where redundant copies are removed or replaced with references to a single master copy, further enhancing storage efficiency. The solution is particularly useful in environments where large volumes of files are generated, such as software development, data centers, or cloud storage systems.

Claim 21

Original Legal Text

21. The system of claim 12, wherein a location is unique for a storage of a given dependency.

Plain English Translation

A system for managing software dependencies in a distributed computing environment addresses the challenge of efficiently storing and retrieving dependencies to ensure consistent and reliable software builds. The system includes a storage mechanism that assigns a unique location for each dependency, preventing conflicts and ensuring that each dependency is stored in a single, identifiable location. This unique location is determined based on the dependency's attributes, such as its name, version, and checksum, to guarantee that the same dependency is always stored in the same location. The system further includes a dependency resolution module that retrieves dependencies from their unique locations, ensuring that the correct versions are used during software builds. Additionally, the system may include a caching mechanism to improve performance by storing frequently accessed dependencies in a local cache, reducing the need to fetch them from the central storage repeatedly. The system also supports dependency versioning, allowing multiple versions of the same dependency to coexist without conflicts. This approach enhances reproducibility and reliability in software development workflows by ensuring that dependencies are consistently and accurately retrieved.

Claim 22

Original Legal Text

22. The system of claim 12, wherein the identification of the dependency is based on a description of the dependency as one of: a string in a metadata of the service image, a list of file names that are needed, and a checksum of contents of the dependency.

Plain English Translation

A system for managing dependencies in service images identifies dependencies based on specific criteria. The system operates in the domain of software deployment and containerization, addressing the challenge of ensuring that all required dependencies are correctly identified and included when deploying services. Dependencies are critical components or files that a service image relies on to function properly, and their absence can lead to deployment failures or runtime errors. The system identifies dependencies by analyzing one or more of the following: a string in the metadata of the service image, a list of file names that are needed, or a checksum of the contents of the dependency. The metadata string may explicitly declare the dependency, while the list of file names specifies the exact files required. The checksum ensures that the dependency's content matches the expected version, preventing mismatches or corrupted files. By using these methods, the system ensures that dependencies are accurately detected and properly integrated into the deployment process, reducing errors and improving reliability. This approach is particularly useful in environments where services are deployed as containerized images, where dependency management is crucial for consistent and error-free execution.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

December 31, 2019

Publication Date

April 2, 2024

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “System and method for providing a file system without duplication of files” (US-11947495). https://patentable.app/patents/US-11947495

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/US-11947495. See llms.txt for full attribution policy.