IP Library Patent Application 14223866
Patent Application
App. No. 14/223,866

CONTENT-ORIENTED FEDERATED OBJECT STORE

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
14/223,866
Abstract

A content-oriented federated object store facilitates processing queries on metadata from a collection of content objects. During operation, the system can receive, from a first entity, a query that includes one or more search parameters. The first entity can include a local application, or a peer network device. The system can analyze a local metadata repository to search for metadata entries that satisfy the query, such that the metadata repository can include metadata entries for a plurality of content objects. The system can also issue the query to a remote network device, to obtain search results from a metadata repository at the remote network device, or at a device accessible from the remote network device. If the system obtains a set of search results from the local metadata repository or from a remote metadata repository, the system returns the set of search results to the first entity.

Claims (136)

1 . A computer-implemented method, comprising:

receiving, by a computer device from a first entity, a request message that includes a command for an object store system, a payload, and user metadata; and

responsive to determining that the command includes a command to store the payload in the object store system, processing the command which involves:

splitting the payload into a set of user-data named content objects;

creating a user-metadata named content object from the user metadata;

determining system contextual metadata associated with the named content objects;

generating a system-metadata named content object for the system contextual metadata;

storing the user-data content objects in a data repository; and

storing the metadata content objects in a metadata repository that includes metadata for a plurality of user-data content objects.

2 . The method of claim 1 , further comprising, responsive to determining that the command includes a command to access data from the object store system, processing the command and metadata to obtain user data, wherein processing the command involves:

searching through the local metadata repository to identify user-data content objects that match the metadata in the request message;

obtaining, from the data repository, the identified user-data content objects;

obtaining, from the local metadata repository, user-metadata that corresponds to the identified user-data content objects;

assembling the obtained content objects into a response payload; and

sending, to the first entity, a response message that includes at least the response payload, and the user-metadata.

3 . The method of claim 1 , wherein the method further comprises:

validating the command;

validating the user metadata; and

validating the system metadata.

4 . The method of claim 1 where the command includes at least one of:

a create command;

an update command;

an append command;

a merge command;

a read command;

a search command;

a delete command;

an associate command;

a move command;

a notify command;

a subscribe command;

a publish command.

5 . The method of claim 1 , wherein the user metadata includes one or more of:

a content name;

author information;

group information;

encryption information;

authentication information;

cryptographic signature information;

a relation to other content names;

format information;

a creation time;

a modification time;

a size; and

a notification time

6 . The method of claim 1 , wherein the system metadata includes one or more of:

author information;

group information;

encryption information;

authentication information;

cryptographic signature information;

a relation to other content names;

format information;

a creation time;

a modification time;

a size;

a notification time;

system identification information;

system authentication information;

system resource information;

system connectivity and network information; and

system peer information.

7 . The method of claim 1 , wherein the request message from the first entity also includes callback information for the first entity: and

wherein the response payload also includes callback information for the local computer device.

8 . The method of claim 7 , wherein the callback information includes one or more of:

a callback function;

a callback message queue;

a storage location;

a network address;

a signal;

a network socket;

a file descriptor;

a lock;

a semaphore; and

shared memory.

9 . The method of claim 1 , wherein the data repository or the metadata repository includes one or more of:

a database;

a random access memory (RAM) device;

a non-volatile storage device; and

a remote storage device.

10 . The method of claim 1 , further comprising, responsive to determining that the command in the request message includes a command to access data from the object store system:

updating the command in the request message to include a system context;

forwarding the request message with the updated command to a second entity;

receiving, from the second entity, a response message that includes at least a set of response payload content objects, and a user metadata content object; and

forwarding the response message to the first entity.

11 . The method of claim 10 , wherein the response message from the second entity also includes a system metadata content object, and a command response; and wherein the method further comprises, prior to forwarding the response message:

validating the command response from the response message; and

validating the system metadata content object from the response message.

12 . The method of claim 10 , wherein the second entity includes one or more of:

a local application; and

a peer network device.

13 . The method of claim 10 , wherein the local entity and the second entity have exchanged authentication information.

14 . The method of claim 10 , where communicating with the second entity involves communicating over one or more of:

an inter-process communicating (IPC);

an Internet protocol (IP) network; and

a content centric network (CCN).

15 . A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising:

receiving, from a first entity, a request message that includes a command for an object store system, a payload, and user metadata; and

responsive to determining that the command includes a command to store the payload in the object store system, processing the command which involves:

splitting the payload into a set of user-data named content objects;

creating a user-metadata named content object from the user metadata;

determining system contextual metadata associated with the named content objects;

generating a system-metadata named content object for the system contextual metadata;

storing the user-data content objects in a data repository; and

storing the metadata content objects in a metadata repository that includes metadata for a plurality of user-data content objects.

16 . The storage medium of claim 15 , further comprising, responsive to determining that the command includes a command to access data from the object store system, processing the command and metadata to obtain user data, wherein processing the command involves:

searching through the local metadata repository to identify user-data content objects that match the metadata in the request message;

obtaining, from the data repository, the identified user-data content objects;

obtaining, from the local metadata repository, user-metadata that corresponds to the identified user-data content objects;

assembling the obtained content objects into a response payload; and

sending, to the first entity, a response message that includes at least the response payload, and the user-metadata.

17 . The storage medium of claim 15 , further comprising, responsive to determining that the command in the request message includes a command to access data from the object store system:

updating the command in the request message to include a system context;

forwarding the request message with the updated command to a second entity;

receiving, from the second entity, a response message that includes at least a set of response payload content objects, and a user metadata content object; and

forwarding the response message to the first entity.

18 . An apparatus, comprising:

an interfacing module to receive, from a first entity, a request message that includes a command for an object store system, a payload, and user metadata; and

a command-processing module that, responsive to determining that the command includes a command to store the payload in the object store system, is configured to:

split the payload into a set of user-data named content objects;

create a user-metadata named content object from the user metadata;

determine system contextual metadata associated with the named content objects;

generate a system-metadata named content object for the system contextual metadata;

store the user-data content objects in a data repository; and

store the metadata content objects in a metadata repository that includes metadata for a plurality of user-data content objects.

19 . The apparatus of claim 18 , wherein responsive to the command-processing module determining that the command includes a command to access data from the object store system, the command-processing module is further configured to:

search through the local metadata repository to identify user-data content objects that match the metadata in the request message;

obtain, from the data repository, the identified user-data content objects;

obtain, from the local metadata repository, user-metadata that corresponds to the identified user-data content objects;

assemble the obtained content objects into a response payload; and

send, to the first entity, a response message that includes at least the response payload, and the user-metadata.

20 . The apparatus of claim 18 , wherein responsive to the command-processing module determining that the command includes a command to access data from the object store system, the command-processing module is further configured to:

update the command in the request message to include a system context;

forward the request message with the updated command to a second entity;

receive, from the second entity, a response message that includes at least a set of response payload content objects, and a user metadata content object; and

forward the response message to the first entity.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2017
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: CISCO SYSTEMS, INC.
Reel/Frame 041714/0373 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2017
From: CISCO SYSTEMS, INC.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 041715/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2014
From: SOLIS, IGNACIO; MOSKO, MARC E.
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 032584/0124 →