# US 10,454,845 B2 · Object memory management unit

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,454,845 B2
- Document ID: US10454845B2
- Status: Granted
- Kind: B2
- Application number: 15/134,053
- Filed: 2016-04-20
- Published: 2016-10-27
- Granted: 2019-10-22
- Earliest claimed: 2015-04-22
- Assignees: Colortokens, Inc.
- Applicants: ColorTokens, Inc.
- Inventors: Mark Medovich; Rajesh Parekh; Bharat Sastri
- Web page: https://patentgrep.com/patent/US10454845B2

## CPC

- H04L 47/781: {Centralised allocation of resources}
- G06F 12/1009: using page tables, e.g. page table structures
- G06F 12/1027: using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- H04L 61/2503: Translation of Internet protocol [IP] addresses
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 12/0284: {Multiple user address space allocation, e.g. using different base addresses (interprocessor communication G06F15/163)}
- G06F 12/10: Address translation
- G06F 2212/152: Virtualized environment, e.g. logically partitioned system
- G06F 2212/154: Networked environment
- H04L 2101/604: Address structures or formats
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques to facilitate enhanced addressing of local and network resources from a computing system are provided herein. In one implementation, a method of operating an object-based memory management unit on a computing system to unify addressing of local and network resources includes maintaining a mapping of virtual addresses to local addresses and network addresses, and identifying resource requests that use the virtual addresses. The method further provides handling the resource requests per the mapping, and wherein a given request of the resource requests implicates a network resource, accessing the network resource associated with the given request over at least the network.

## Claims

### Claim 1

A computer-implemented system for mapping and translation of a virtual address space and a Universal Resource Address Space (URAS) into a physical memory address space thereof, said computer- implemented system forming a part of a distributed computing environment, said computer-implemented system comprising:
an Object Memory Management Unit (OMMU) configured to:
create an expanded virtual address space by expanding said virtual address space and incorporating said Universal Resource Address Space (URAS) therein, and render said expanded virtual address space accessible as a combination of a plurality of virtual addresses and said Universal Resource Address Space (URAS), said Universal Resource Address Space comprising a plurality of universal resource addresses indicative of remote computing resources located across said distributed computing environment;
create a mapping between said expanded virtual address space and said physical memory address space, thereby federating, by virtue of said mapping, said virtual address space, said Universal Resource Address Space and said physical memory address space into a virtually unified resource directly accessible to said computer-implemented system;
said Object Memory Management Unit is further configured to map at least a first portion of said virtual address space to said physical memory address space, and at least a second portion of said virtual address space to said Universal Resource Address Space;
said Object Memory Management Unit further configured to translate each of said virtual addresses and said universal resource addresses contained within said expanded virtual address space, into corresponding said physical memory addresses contained within said physical memory address space of said computer-implemented system, based on said mapping;
said Object Memory Management Unit, by virtue of said mapping and further by virtue of translation of said virtual addresses and said universal resource addresses into said corresponding physical memory addresses, configured to selectively render said virtual addresses and said universal resource addresses directly accessible on said computer-implemented system, in a manner similar to accessing said physical memory address space local to said computer-implemented system.

### Claim 2 (depends on 1)

The computer-implemented system as claimed in claim 1, wherein said universal resource addresses indicative of remote computing resources located across said distributed computing environment are Universal Resource Locators (URLs).

### Claim 3 (depends on 1)

The computer-implemented system as claimed in claim 1, wherein said Object Memory Management Unit is further configured to translate a request for access to said virtual address space to a request for access to a memory mapped address, said memory mapped address corresponding to at least one of said physical memory address space and said Universal Resource Addresses Space.

### Claim 4

A computer implemented method executable on a computer-implemented system, for mapping and translation of a virtual address space and a Universal Resource Address Space (URAS) into a physical memory address space of said computer-implemented system, said method comprising the following computer-implemented steps:
expanding, by an Object Memory Management Unit (OMMU), said virtual address space to incorporate said Universal Resource Address Space (URAS) therein, and thereby creating an expanded virtual address space, said expanded virtual address space being a unified combination of a plurality of virtual addresses and a plurality of universal resource addresses, and wherein said universal resource addresses represent remote computing resources located across a distributed computing environment;
creating, by said Object Memory Management Unit, a mapping between said expanded virtual address space and said physical memory address space, and federating, by virtue of said mapping, said virtual address space, said Universal Resource Address Space and said physical memory address space into a virtually unified resource directly accessible to said computer-implemented system;
mapping, by said Object Memory Management Unit, at least a first portion of said virtual address space to said physical memory address space, and at least a second portion of said virtual address space to said Universal Resource Address Space;
translating, by said Object Memory Management Unit, each of said plurality of virtual addresses and each of said plurality of universal resource addresses contained within said expanded virtual address space, into corresponding physical memory addresses contained within said physical memory address space, based on said mapping; and
selectively rendering, by said Object Memory Management Unit, based on said mapping and further based on translation of said virtual addresses and said universal resource address into said corresponding physical memory addresses, said virtual addresses and said universal resource addresses directly accessible on said computer-implemented system, in a manner similar to providing access to said physical memory address space local to said computer-implemented system.

### Claim 5 (depends on 4)

The method as claimed in claim 4, wherein the method further includes the step of translating, by said Object Memory Management Unit, a request for access to said virtual address space to a request for access to a memory mapped address, said memory mapped address corresponding to at least one of said physical memory address space and said Universal Resource Addresses Space.

### Claim 6

A non-transitory computer readable storage medium having computer-readable instructions stored thereupon for mapping and translation of a virtual address space and a Universal Resource Address Space (URAS) into a physical memory address space of a computer-implemented system, said computer-readable instructions when executed by a processor of a said computer-implemented system, cause the processor to:
create an expanded virtual address space by expanding said virtual address space and incorporating said Universal Resource Address Space (URAS) therein, and wherein said expanded virtual address space comprises a unified combination of a plurality of virtual addresses and a plurality of universal resource addresses, and wherein said universal resource addresses represent remote computing resources located across a distributed computing environment;
create a mapping between said expanded virtual address space and said physical memory address space, thereby federating, by virtue of said mapping, said virtual address space, said Universal Resource Address Space and said physical memory address space into a virtually unified resource directly accessible to said computer-implemented system;
map at least a first portion of said virtual address space to said physical memory address space, and at least a second portion of said virtual address space to said Universal Resource Address Space;
translate each of said plurality of universal resource addresses and each of said plurality of universal resource addresses contained in said expanded virtual address space, into corresponding physical memory addresses contained within said physical memory address space, based on said mapping; and
selectively render, based on said mapping and further based on translation of said virtual addresses and said universal resource address into said physical memory addresses, said virtual addresses and said universal resource addresses directly accessible on said computer-implemented system, in a manner similar to providing access to said physical memory address space local to said computer-implemented system.

### Claim 7 (depends on 6)

The computer-readable instructions as claimed in claim 6, wherein the computer-readable instructions when executed by the processor, further cause the processor to:
integrate said Universal Resource Address Space, said virtual address space and said physical memory address space into a unified local resource directly accessible via said computer- implemented system; and
translate a request for access to said virtual address space to a request for access to a memory mapped address, said memory mapped address corresponding to at least one of said physical memory address space and said Universal Resource Addresses Space.
