Apple Inc. (Cupertino, CA)

Specific embodiments disclosed in this document provide methods for enabling the local file system on a computer device to communicate with files from remote locations which are not yet transferred to the local file system. In some examples, a method could be implemented on the computing device, and include the steps of (1) receiving a system call directed to the operating system kernel to access a file that is stored on the remote server device, (2) invoking a fault handler in response to receiving the system call, (3) generating a remote procedure call (RPC) that is associated with the user space application to store the file on the local file system by the computing device, and (4) executing a callback function associated to the RPC when the file is saved in the local system.

The majority of computers have at least one nonvolatile memory like solid-state drives. A file system can be implemented for one or more files stored on a non-volatile memory in an electronic device.However due to the storage capacity of the non-volatile memory is typically restricted, users often utilizes third-party cloud-based storage solutions to increase the storage capacity that are accessible to the computer.

Third-party storage companies, such as cloud storage services, might provide software that runs in user-space on the computing device. They coordinate the transfer of files between remote as well as local copies of the files stored in the file system of computers. The modifications can be applied to local files, and the applications will then transfer those changes to remote files. The storage capacity of the cloud-based volume that is made available to the user can sometimes exceed that on the computing device. So, third-party service providers have recently tried to enable the user to connect to the remote files, without needing to sync all of the data with the file system.

This function can be accomplished using kernel extensions that intercept calls to the file system level. The kernel extension then blocks system calls related to a remote file and sends a request for the application to make synchronization (e.g. download) the remote file onto the local file system. The kernel eliminates all system calls that are related to the remote file and lets applications communicate with the local copy.

Another option is to utilize the third-party application to create a plugin that lets the third party provider to write an operating system that runs in user space. The plug-in can also use kernel extensions as a bridge between third-party applications and the kernel’s local file system.

Importantly, these solutions are undesirable because they can interfere with system calls in kernel space. More specifically, access to kernel space functions introduces security vulnerabilities as well as opens the kernel to unexpected proceduraldifferences in how different file providers handle file system faults.

It is desirable that third-party file service providers can offer extensions for user space that use high-level code to handle enumeration requests as well as synchronization tasks for cloud-based storage solutions. It is essential to be able to implement these extensions for users without interrupting kernel-level system calls from different tools or applications.

Click here to view the patent on USPTO website.


Get Patents with PatentPC

What is a patent?

How to Search for Patents

  • Add keywords to your search. Keyword searches may turn up documents that are not well-categorized or have missed classifications during Step 2. For example, US patent examiners often supplement their classification searches with keyword searches. Think about the use of technical engineering terminology rather than everyday words.
  • Search for foreign patents using the CPC classification. Then, re-run the search using international patent office search engines such as Espacenet, the European Patent Office’s worldwide patent publication database of over 130 million patent publications. Other national databases include:
  • Search non-patent literature. Inventions can be made public in many non-patent publications. It is recommended that you search journals, books, websites, technical catalogs, conference proceedings, and other print and electronic publications.

To review your search, you can hire a registered patent attorney to assist. A preliminary search will help one better prepare to talk about their invention and other related inventions with a professional patent attorney. In addition, the attorney will not spend too much time or money on patenting basics.