IP Library Granted Patent US 8,689,115
Granted Patent B2
US 8,689,115 · App. 12/564,010 · Granted Apr 1, 2014

Method and system for distributed computing interface

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 8,689,115
App. No.
12/564,010
Granted
Apr 1, 2014
Kind
B2
Abstract

A method and system for distributed computing interface are disclosed. According to one embodiment, a computer implemented method comprises accessing a collaborative interface, wherein the collaborative interface comprises persistent shared space, wherein visual representation of the collaborative interface is identical for each client accessing the collaborative interface. In a single action, an object is dragged into the collaborative interface and the object is displayed in real time in the collaborative interface. The object is accessible to other clients in the collaborative interface and the state of the object is continuously synchronized. The object is manipulated in the collaborative interface and other clients accessing the collaborative interface are viewed.

Claims (74)

1. A computer-implemented method, the method comprising:

accessing a collaborative interface coupled to a distributed computing system, wherein the collaborative interface spanning across multiple users' devices is generated by using cloud computing: wherein at least two of the multiple users' devices are coupled via Internet; wherein the collaborative interface comprises persistent shared space, and wherein a visual representation of the collaborative interface is identical for each client accessing the collaborative interface; wherein the collaborative interface includes a virtualization system and a synchronization system; wherein the virtualization system and the synchronization system dynamically respond to data objects received in order to configure the distributed computing communication, and synchronization or shared data relative to a data object type and the data transfer needs of clients sharing the data;

dragging an object into the collaborative interface in a single action, wherein the object is displayed in real time in the collaborative interface, wherein the object is accessible to other clients in the collaborative interface, wherein the state of the object is continuously synchronized;

receiving a data object into the collaboration interface;

detecting, by the collaboration interface, the data object type received;

determining from the type of data object the extent of distributed computing needed to allow the data object to be shared and manipulated by a plurality of clients connected to the distributed computing system;

configuring real-time data pipes included with the virtualization system in response to the data object to establish a duplex path of communication between the plurality of clients with respect to the data object being shared;

configuring asynchronous data pipes included with the virtualization system in response to the data object to establish an asynchronous delivery path for communication between the plurality of clients with respect to the data object being shared; and

configuring the synchronization system in response to the data object in order to synchronize the data object, the time, and a state of the plurality of clients sharing the data object to within pre-determined synchronization precision;

establishing at least one application instantiated across the distributed computing system, wherein the at least one application is configured to send and receive encoded data through the virtualization system; and

sharing the data object amongst the plurality of clients through the collaboration interface,

manipulating the object in the collaborative interface; and viewing other clients accessing the collaborative interface; and

dragging the object out of the collaborative interface to save a local copy of the object into a client.

2. The method of claim 1 , further comprising editing the data object in the collaborative interface.

3. The method of claim 1 , further comprising deleting the data object from the collaborative interface.

4. The method of claim 1 , further comprising exporting the data object to a client from the collaborative interface.

5. The method of claim 1 , wherein the data object is one or more of a media file, a URL, an image, a folder, an application data file, a short-cut to an application, an executable file, and a flash file.

6. The method of claim 1 , wherein the data object comprises an application running locally on a client.

7. The method of claim 1 , wherein the data object comprises an application running on the distributed computing system.

8. The method of claim 1 , wherein the collaborative interface comprises a video chat interface.

9. The method of claim 1 , wherein the data object comprises an access control list.

10. A system, comprising:

a collaborative interface coupled to a distributed computing system, wherein the collaborative interface spanning across multiple users' devices is generated by using cloud computing, wherein at least two of the multiple users' devices are coupled via the Internet, wherein the collaborative interface comprises persistent shared space, and wherein a visual representation of the collaborative interface is identical for each client accessing the collaborative interface, wherein the collaborative interface includes a virtualization system and a synchronization system, wherein the virtualization system and the synchronization system dynamically respond to data objects received in order to configure the distributed computing, communication, and synchronization of shared data relative to the data object type and the data transfer needs of client devices sharing the data; and

software, stored on a non-transitory medium, executable by the one or more client device comprising computer executable instructions for

receiving a data object into the collaboration interface;

detecting, by the collaboration interface, the type of data object received;

determining from the type of data object the extent of distributed computing needed to allow the data object to be shared and manipulated by the one or more client devices connected to the distributed computing system;

configuring real-time data pipes included in the virtualization system in response to the data object to establish a duplex path of communication between the one or more client devices with respect to the data object being shared;

configuring asynchronous data pipes included in the virtualization system in response to the data object to establish an asynchronous delivery path for communication between the one or more client devices with respect to the data object being shared;

configuring the synchronization system in response to the data object in order to synchronize the data object, the time, and a state of the one or more client devices sharing the data object to within a pre-determined synchronization precision;

establishing at least one application instantiated across the distributed computing system;

wherein the at least one application is configured to send and receive encoded data through the virtualization system; and

sharing the data object amongst the one or more client devices through the collaboration interface.

11. The system of claim 10 , further comprising editing the data object in the collaborative interface.

12. The system of claim 10 , further comprising deleting the data object from the collaborative interface.

13. The system of claim 10 , further comprising exporting the data object to a client device from the collaborative interface.

14. The system of claim 10 , wherein the data object is one or more of a media file, a URL, an image, a folder, an application data file, a short-cut to an application, an executable file, and a flash file.

15. The system of claim 10 , wherein the data object comprises an application running locally on a client device.

16. The system of claim 10 , wherein the data object comprises an application running on the distributed computing system.

17. The system of claim 10 , wherein the collaborative interface comprises a video chat interface.

18. The system of claim 10 , wherein the data object comprises an access control list.

19. A computer-implemented method, the method comprising:

accessing a collaborative interface coupled to a distributed computing system, wherein the collaborative interface spanning across multiple users' devices is generated by using cloud computing, wherein at least two of the multiple users' devices are coupled via the Internet, wherein the collaborative interface comprises persistent shared space, and wherein a visual representation of the collaborative interface is identical for each client accessing the collaborative interface, wherein the collaborative interface includes a virtualization system and a synchronization system; wherein the virtualization system and the synchronization system dynamically respond to data objects received in order to configure the distributed computing, communication, and synchronization of shared data relative to the data object type and the data transfer needs of clients sharing the data;

receiving a data object into the collaboration interface;

detecting, by the collaboration interface, the data object type received;

determining, from the type of data object, the extent of the distributed computing needed to allow the data object to be shared and manipulated by a plurality of clients connected to the distributed computing system;

configuring real-time data pipes included in the virtualization system in response to the data object to establish a duplex path of communication between the plurality of clients with respect to the data object being shared;

configuring asynchronous data pipes included in the virtualization system in response to the data object to establish an asynchronous delivery path for communication between the plurality of clients with respect to the data object being shared;

configuring the synchronization system in response to the data object in order to synchronize the data object, the time, and a state of the plurality of clients sharing the data object to within a pre-determined synchronization precision;

uploading data chunks of the data object to the synchronization system;

distributing the data chunks to other clients, by the synchronization system, without waiting for all data chunks of the data object to be uploaded to the synchronization system; and

displaying the data object substantially in real time in the collaborative interface.

20. The method of claim 19 , further comprising storing a copy of the data object in the synchronization system.

21. The method of claim 19 , wherein in the step of displaying the data object, the data object is being displayed substantially in real time in the collaborative interface after all data chunks of the data object are distributed to one or more of the other clients.

22. The method of claim 19 , wherein in the step of manipulating the data object, the data object is being manipulated in the collaborative interface by at least one of the clients in synchronized real time.

23. The method of claim 19 , wherein in the step of displaying the data object, frame timestamps of graphic outputs of the clients are compared.

24. The method of claim 19 , wherein in the step of displaying the data object, display time of the data object is synchronized among all the clients accessing the collaborative interface.

25. A computer-implemented method for sharing data objects across a distributed computing system, the method comprising:

receiving a data object via a virtual input portion of a virtualization system connected to and having at least a portion thereof instantiated within a distributed computing system, the virtual input portion configured to encode instructions received from two or more client devices manipulating the data object through a real-time data pipe and an asynchronous data pipe;

receiving the data object by a shared collaboration space portion of the virtualization system; wherein the shared collaboration space is configured to be responsive to the data objects received;

determining, by the virtualization system, a type of the data object received;

reconfiguring at least a portion of the distributed computing system in response to the type of the data object received;

in response to the data object type, launching an application configured to process the data object, wherein at least a portion of the application is instantiated across the distributed computing system;

encoding and compressing the data object and data associated therewith in a form for use with the application;

providing a virtual output portion of the virtualization system configured to decode a display view of the data object received from the application for viewing by two or more clients coupled to the virtualization system via the distributed computing system via the real-time data pipe and the asynchronous data pipe; and

synchronizing the data object views and data object manipulations amongst the two or more clients via a synchronization system connected to and having at least a portion thereof instantiated across the distributed computing system, wherein the synchronization is configured to process virtual inputs and virtual outputs of the virtualization system through the real-time data pipe and the asynchronous data pipe to near real-time precision with respect to the data object and a predetermined synchronization threshold.

26. The method of claim 25 , wherein receiving the data object further comprises initiating a configuration of the distributed computing system in response to the data object received via a motion by the data object being moved into the virtual input portion.

27. The method of claim 25 , further comprising:

receiving payload data objects representing modifications to the data object by the two or more client devices manipulating the data object;

determining timestamps and synchronization states for the payload data objects received;

maintaining a first set of the payload data objects that have timestamps within a predetermined timeframe;

discarding a second set of the payload data objects that have timestamps outside a predetermined timeframe;

combining the modifications and the synchronization states received from the first set of payload data objects received to form a mixed set of modifications and the synchronization states; and

applying the mixed set of modifications and the synchronization states to the data object views in order to maintain a synchronous presentation of the data object to the two or more client devices.

Assignments (24)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2021
From: WICKR LLC
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 057366/0573 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 25, 2021
From: SILICON VALLEY BANK
To: WICKR INC.
Reel/Frame 056684/0366 →
SECURITY AGREEMENT Recorded Dec 12, 2017
From: WICKR INC.
To: SILICON VALLEY BANK
Reel/Frame 044872/0729 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDRESS FROM 71 S. WACKER DR. SUITE 2385 CHICAGO, ILLINOIS 60606 TO 459 18TH ST., #313, SAN FRANCISCO, CALIFORNIA 94107 PREVIOUSLY RECORDED ON REEL 039810 FRAME 0277. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 24, 2016
From: NET POWER AND LIGHT, INC.
To: WICKR INC.
Reel/Frame 040267/0459 →
MERGER Recorded Aug 25, 2016
From: NET POWER AND LIGHT, INC.
To: WICKR INC.
Reel/Frame 039810/0277 →
MERGER Recorded Aug 24, 2016
From: NET POWER AND LIGHT, INC.
To: NET POWER AND LIGHT, INC.
Reel/Frame 039809/0346 →
NOTE AND WARRANT CONVERSION AGREEMENT Recorded Apr 28, 2016
From: PENINSULA TECHNOLOGY VENTURES, L.P.; PENINSULA VENTURE PRINCIPALS, L.P.; ALSOP LOUIE CAPITAL 1, L.P.; SINGTEL INNOV8 PTE. LTD.; TWB INVESTMENT PARTNERSHIP II, LP; THE BOARD OF TRUSTEES OF THE LELAND STANFORD JUNIOR UNIVERSITY (DAPER I); LOW, LAWRENCE B.; BROWN, JOHN SEELY; SHIN, JEANNIE; ORRICK INVESTMENTS 2010, LLC; ORRICK INVESTMENTS 2011, LLC; WANG, TA-HUI TY
To: NET POWER & LIGHT, INC.
Reel/Frame 038543/0942 →
RELEASE OF SECURITY INTEREST Recorded Apr 28, 2016
From: NET POWER & LIGHT, INC.
To: NET POWER & LIGHT, INC.
Reel/Frame 038398/0934 →
RELEASE OF SECURITY INTEREST Recorded Apr 28, 2016
From: NET POWER & LIGHT, INC.
To: NET POWER & LIGHT, INC.
Reel/Frame 038398/0946 →
RELEASE OF SECURITY INTEREST Recorded Apr 28, 2016
From: NET POWER & LIGHT, INC.
To: NET POWER & LIGHT, INC.
Reel/Frame 038398/0958 →
NOTE AND WARRANT CONVERSION AGREEMENT Recorded Apr 28, 2016
From: PENINSULA TECHNOLOGY VENTURES, L.P.; PENINSULA VENTURE PRINCIPALS, L.P.; ALSOP LOUIE CAPITAL 1, L.P.; SINGTEL INNOV8 PTE. LTD.; TWB INVESTMENT PARTNERSHIP II, LP; THE BOARD OF TRUSTEES OF THE LELAND STANFORD JUNIOR UNIVERSITY (DAPER I); LOW, LAWRENCE B.; BROWN, JOHN SEELY; SHIN, JEANNIE; ORRICK INVESTMENTS 2010, LLC; ORRICK INVESTMENTS 2011, LLC; WANG, TA-HUI TY
To: NET POWER & LIGHT, INC.
Reel/Frame 038543/0966 →
NOTE AND WARRANT CONVERSION AGREEMENT Recorded Apr 28, 2016
From: PENINSULA TECHNOLOGY VENTURES, L.P.; PENINSULA VENTURE PRINCIPALS, L.P.; ALSOP LOUIE CAPITAL 1, L.P.; SINGTEL INNOV8 PTE. LTD.; TWB INVESTMENT PARTNERSHIP II, LP; THE BOARD OF TRUSTEES OF THE LELAND STANFORD JUNIOR UNIVERSITY (DAPER I); LOW, LAWRENCE B.; BROWN, JOHN SEELY
To: NET POWER & LIGHT, INC.
Reel/Frame 038600/0779 →
RELEASE OF SECURITY INTEREST Recorded Apr 27, 2016
From: NET POWER & LIGHT, INC.
To: NET POWER & LIGHT, INC.
Reel/Frame 038543/0831 →
NOTE AND WARRANT CONVERSION AGREEMENT Recorded Apr 27, 2016
From: PENINSULA TECHNOLOGY VENTURES, L.P.; PENINSULA VENTURE PRINCIPALS, L.P.; ALSOP LOUIE CAPITAL 1, L.P.
To: NET POWER & LIGHT, INC.
Reel/Frame 038543/0839 →
SECURITY INTEREST Recorded Feb 22, 2016
From: NET POWER AND LIGHT, INC.
To: PENINSULA TECHNOLOGY VENTURES, L.P.; PENINSULA VENTURE PRINCIPALS, L.P.; ALSOP LOUIE CAPITAL 1, L.P.; SINGTEL INNOV8 PTE. LTD.; TWB INVESTMENT PARTNERSHIP II, LP; THE BOARD OF TRUSTEES OF THE LELAND STANFORD JUNIOR UNIVERSITY (DAPER I); LOW, LAWRENCE B.; BROWN, JOHN SEELY; SHINE, JEANNIE; ORRICK INVESTMENTS 2010, LLC; ORRICK INVESTMENTS 2011, LLC; WANG, TA-HUI TY
Reel/Frame 037786/0090 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S NAME PREVIOUSLY RECORDED AT REEL: 037333 FRAME: 0680. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 28, 2015
From: NET POWER AND LIGHT, INC.
To: PENINSULA TECHNOLOGY VENTURES, L.P.; PENINSULA VENTURE PRINCIPALS, L.P.; ALSOP LOUIE CAPITAL 1, L.P.; SINGTEL INNOV8 PTE. LTD.; TWB INVESTMENT PARTNERSHIP II, LP; THE BOARD OF TRUSTEES OF THE LELAND STANFORD JUNIOR UNIVERSITY (DAPER I); LOW, LAWRENCE B.; BROWN, JOHN SEELY; SHIN, JEANNIE; ORRICK INVESTMENTS 2010, LLC; ORRICK INVESTMENTS 2011, LLC; WANG, TA-HUITY
Reel/Frame 037394/0150 →
SECURITY INTEREST Recorded Dec 18, 2015
From: NET POWER AND LIGHT, INC.
To: PENINSULA TECHNOLOGY VENTURES, L.P.; PENSULA VENTURE PRINCIPALS, L.P.; ALSOP LOUIE CAPITAL 1, L.P.; SINGTEL INNOVS PTE. LTD.; TWB INVESTMENT PARTNERSHIP II, LP; THE BOARD OF TRUSTEES OF THE LELAND STANFORD UNIVERSITY (DAPER I); LOW, LAWRENCE B.; BROWN, JOHN SEELY; SHIN, JEANNIE; ORRICK INVESTMENTS 2010, LLC; ORRICK INVESTMENTS 2011, LLC; WANG, TA-HUITY
Reel/Frame 037333/0680 →
SECURITY INTEREST Recorded Oct 6, 2015
From: NET POWER & LIGHT, INC.
To: PENINSULA TECHNOLOGY VENTURES, L.P.; PENINSULA VENTURE PRINCIPALS, L.P.; ALSOP LOUIE CAPITAL 1, L.P.; SINGTEL INNOV8 PTE. LTD.; TWB INVESTMENT PARTNERSHIP II, LP; THE BOARD OF TRUSTEES OF THE LELAND STANFORD JUNIOR UNIVERSITY (DAPER I); LOW, LAWRENCE B.; BROWN, JOHN SEELY; SHIN, JEANNIE; ORRICK INVESTMENTS 2010, LLC; ORRICK INVESTMENTS 2011, LLC; WANG, TA-HUI TY
Reel/Frame 036740/0252 →
SECURITY INTEREST Recorded Dec 3, 2014
From: NET POWER AND LIGHT, INC.
To: PENINSULA TECHNOLOGY VENTURES, L.P.; PENINSULA VENTURE PRINCIPALS, L.P.; ALSOP LOUIE CAPITAL 1, L.P.; SINGTEL INNOV8 PTE. LTD.; TWB INVESTMENT PARTNERSHIP II, LP; THE BOARD OF TRUSTEES OF THE LELAND STANFORD JUNIOR UNIVERSITY (DAPER I); LOW, LAWRENCE B; BROWN, JOHN SEELY
Reel/Frame 034361/0439 →
SECURITY INTEREST Recorded Jun 4, 2014
From: NET POWER AND LIGHT, INC.
To: PENINSULA TECHNOLOGY VENTURES, L.P.; PENINSULA VENTURE PRINCIPALS, L.P.; ALSOP LOUIE CAPITAL I, L.P.
Reel/Frame 033086/0001 →
RELEASE OF SECURITY INTEREST Recorded Feb 6, 2014
From: ALSOP LOUIE CAPITAL, L.P.; SINGTEL INNOV8 PTE. LTD.
To: NET POWER AND LIGHT, INC.
Reel/Frame 032158/0112 →
SECURITY AGREEMENT Recorded Dec 23, 2013
From: NET POWER AND LIGHT, INC.
To: ALSOP LOUIE CAPITAL, L.P.; SINGTEL INNOV8 PTE. LTD.
Reel/Frame 031868/0927 →
CHANGE OF NAME Recorded Aug 30, 2010
From: MUSIGY USA, INC.
To: NET POWER AND LIGHT, INC.
Reel/Frame 024904/0991 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2010
From: VONOG, STANISLAV; SURIN, NIKOLAY; LOUIE, GILMAN; KUZNETSOV, VLADIMIR
To: MUSIGY USA, INC.
Reel/Frame 023834/0395 →