IP Library Granted Patent US 9,858,552
Granted Patent B2
US 9,858,552 · App. 13/160,996 · Granted Jan 2, 2018

Systems and methods for augmenting physical media from multiple locations

View Patent ↗
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 9,858,552
App. No.
13/160,996
Granted
Jan 2, 2018
Kind
B2
Abstract

The present disclosure is directed to systems and methods including providing a data structure stored in computer-readable memory at a first location, monitoring a first work surface provided at the first location, determining that a first physical medium has been manipulated on the first work surface, and, in response, generating a first operation based on a manipulation of the first physical medium, applying the first operation to the data structure. Systems and methods can further include receiving operation and object data from a server system, the operation and object data corresponding to a second operation generated in response to manipulation of a second physical medium on a second work surface provided at a second location, applying the second operation to the data structure, processing the object data, and projecting a first virtual medium on the first work surface, the first virtual medium corresponding to the second physical medium.

Claims (58)

1. A computer-implemented method for maintaining consistency of a plurality of data structures, the method comprising:

providing a first data structure of the plurality of data structures stored in computer-readable memory of a computing device located at a first location;

monitoring, by a digital camera, a first work surface provided at the first location, the digital camera generating images of the first work surface;

determining, by performing an object character recognition and a shape recognition of the images of the first work surface, that a first physical medium has been manipulated on the first work surface, wherein the first physical medium is different from the first work surface;

in response to determining that the first physical medium has been manipulated, generating a first operation based on a manipulation of the first physical medium;

providing a second data structure of the plurality of data structures based on a second work surface located at a second location, the second location being different than the first location, the first data structure and the second data structure being subject to active and simultaneous manipulation operations that define a collaborative effort;

applying the first operation to the first data structure, the first operation comprising a complex operation having a plurality of constituent primitive operations, wherein applying comprises performing an operational transformation on the plurality of constituent primitive operations, the operational transformation maintaining consistency between the first data structure and the second data structure; and

transmitting the first operation to a server system and replicating at the second location.

2. The method of claim 1 , further comprising:

generating an image of the first physical medium; and

transmitting the image of the first physical medium to the server system.

3. The method of claim 1 , further comprising:

receiving an acknowledgment at the computing device, the acknowledgement indicating that a consistency data structure maintained at the server system has been updated based on the first operation.

4. The method of claim 1 , further comprising:

receiving, at the computing device, operation and object data from the server system, the operation and object data corresponding to a second operation generated in response to manipulation of the second physical medium on the second work surface provided at a second location;

applying the second operation to the second data structure;

processing the object data; and

projecting a first virtual medium on the first work surface, the first virtual medium corresponding to the second physical medium.

5. The method of claim 4 , wherein the object data comprises a uniform resource indicator (URI) corresponding to an image of the second physical medium and position data corresponding to a position of the second physical medium on the second work surface.

6. The method of claim 1 , further comprising:

determining that a second physical medium has been manipulated on the first work surface;

in response to determining that the second physical medium has been manipulated, generating a second operation based on a second manipulation of the second physical medium;

applying the second operation to the second data structure; and

transmitting the second operation to the server system.

7. The method of claim 6 , further comprising:

receiving a third operation from the server system, the third operation conflicting with the second operation;

undoing the second operation from the second data structure; and

applying the third operation to the data structure.

8. The method of claim 1 , wherein determining that the first physical medium has been manipulated on the first work surface comprises determining that the first physical medium has been added to the first work surface.

9. The method of claim 8 , wherein the first operation comprises generating an object that corresponds to the first physical medium and augmenting the second data structure to include the object.

10. The method of claim 1 , wherein determining that the first physical medium has been manipulated on the first work surface comprises determining that the first physical medium has been removed from the first work surface.

11. The method of claim 10 , wherein the first operation comprises deleting an object from the second data structure.

12. The method of claim 1 , wherein determining that the first physical medium has been manipulated on the first work surface comprises determining that the first physical medium has been modified.

13. The method of claim 12 , wherein the first operation comprises modifying an attribute of an object of the second data structure.

14. The method of claim 1 , wherein the second data structure comprises a model, the model comprising objects and relationships between objects.

15. The method of claim 14 , wherein the model comprises at least one of a business process modeling notation (BPMN) model and a uniform modeling language (UML) model.

16. The method of claim 1 , wherein the digital camera is a component of the computing device.

17. The method of claim 1 , further comprising:

generating a virtual medium corresponding to the first physical medium; and

projecting the virtual medium onto the first work surface in place of the first physical medium.

18. A computer-readable storage device coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations for maintaining consistency of a plurality of data structures, the operations comprising:

providing a first data structure of the plurality of data structures stored in computer-readable memory of a computing device located at a first location;

monitoring, by a digital camera, a first work surface provided at the first location, the digital camera generating images of the first work surface;

determining, by performing an object character recognition and a shape recognition of the images of the first work surface, that a first physical medium has been manipulated on the first work surface, wherein the first physical medium is different from the first work surface;

in response to determining that the first physical medium has been manipulated, generating a first operation based on a manipulation of the first physical medium;

providing a second data structure of the plurality of data structures based on a second work surface located at a second location, the second location being different than the first location, the first data structure and the second data structure being subject to active and simultaneous manipulation operations that define a collaborative effort;

applying the first operation to the first data structure, the first operation comprising a complex operation having a plurality of constituent primitive operations, wherein applying comprises performing an operational transformation on the plurality of constituent primitive operations, the operational transformation maintaining consistency between the first data structure and the second data structure; and

transmitting the first operation to a server system and replicating at the second location.

19. A system, comprising:

a computing device located at a first location; and

a computer-readable storage device coupled to the computing device and having instructions stored thereon which, when executed by the computing device, cause the computing device to perform operations for maintaining consistency of a plurality of data structures, the operations comprising:

providing a first data structure of the plurality of data structures stored in computer-readable memory of the computing device;

monitoring, by a digital camera, a first work surface provided at the first location, the digital camera generating images of the first work surface;

determining, by performing an object character recognition and a shape recognition of the images of the first work surface, that a first physical medium has been manipulated on the first work surface, wherein the first physical medium is different from the first work surface;

in response to determining that the first physical medium has been manipulated, generating a first operation based on a manipulation of the first physical medium;

providing a second data structure of the plurality of data structures based on a second work surface located at a second location, the second location being different than the first location, the first data structure and the second data structure being subject to active and simultaneous manipulation operations that define a collaborative effort;

applying the first operation to the first data structure, the first operation comprising a complex operation having a plurality of constituent primitive operations, wherein applying comprises performing an operational transformation on the plurality of constituent primitive operations, the operational transformation maintaining consistency between the first data structure and the second data structure; and

transmitting the first operation to a server system and replicating at the second location.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2011
From: KOWALKIEWICZ, MAREK; DREILING, ALEXANDER; JANIESCH, CHRISTIAN; ADKINS, MELISSA; WECKOWSKI, DAWID GRZEGORZ; HOLMES, MARK
To: SAP AG
Reel/Frame 026839/0964 →