IP Library Granted Patent US 10,735,304
Granted Patent B2
US 10,735,304 · App. 14/918,446 · Granted Aug 4, 2020

System and method for remote management of sale transaction data

Inventors: Jason Ordway (New York, NY); Joshua Vickery (New York, NY); Kieran Breen (Belfast, IE); Jordan Hamill (Belfast, IE)
Assignee: Shopkeep Inc.
H04L45/02G06Q20/20G06Q20/206H04L12/18H04L67/1095H04L67/1097
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 10,735,304
App. No.
14/918,446
Granted
Aug 4, 2020
Kind
B2
Abstract

This invention discloses a novel system and method and system for sharing a data item among a plurality of computers connected in an arbitrary network topology. In the preferred embodiment, each of the plurality of computers has a local copy of the data item, but can only edit the copy by obtaining a token from the current token owner, thereby becoming a new current token owner. When the token owner makes a change to the data item, the change is broadcast to the other computers, along with the identity of the new current token owner. Routing of token requests and broadcasts is accomplished by means of each computer calculating a routing table based on information it receives from those computers to which it is directly connected on the network.

Claims (50)

1. A method to transmit for an order data an ownership change message corresponding to said order data, said method executed by a distributed computer system comprised of a server and a plurality of computers operating as register instances, the plurality of computers operating as register instances being connected using at least one wireless data network, said method comprising:

At the server, authorizing an additional computer operating as an activated register instance under a predetermined account identifier;

At the server, determining at least one active computers operating as register instances under the predetermined account identifier;

receiving at each of the at least one determined computers a data message from the server comprised of an identifier corresponding to the authorized additional computer operating as an activated register instance;

in response to the receiving step, recalculating at each of at least one determined computers and at the authorized additional computer, a corresponding at least one routing table data structure that encodes a next peer on a path to each of said at least one of the computers operating as register instances;

storing each of the at least one corresponding routing tables in the local memory of its corresponding at least one determined computers and the authorized additional computer;

receiving at a first of the computers operating as a register instance at least one ownership change data message comprised of data designating a second of the computers operating as register instances as destination of the message and owner of the order data and routing the received at least one ownership change message to the second of the computers operating as register instances using the at least one wireless communication network and without the at least one data message passing through the server by:

in at least one of the computers acting as register instances, calculating using the locally stored routing table, the next peer on a path to the second computer operating as a register instance; and

transmitting the ownership change message to the calculated next peer.

2. The method of claim 1 further comprising:

receiving at a first of the plurality of computers operating as register instances a message comprised of a value that represents “broadcast”; and

determining at least one computer operating as a register instance listed as a next peer connection in the routing table stored on the first computer operating as a register instance;

transmitting the message from the first computer operating as a register instance to the determined next peer connection, where the transmitted message is comprised of the value representing “broadcast.”

3. The method of claim 1 further comprising:

receiving input command data representing an additional purchase into a first of the plurality of computers operating as a register instance and in response, updating a data structure representing an order stored on the first computer operating as a register instance to include data representing the additional purchase;

in response to the updating of the order, generating a data payload comprised of the updated order data, said payload further comprised of a value representing “broadcast”; and

transmitting the data payload from the first computer operating as a register instance to all other computers operating as a register instance that are listed as a next peer connection in the routing table stored on the first computer;

at a second of the plurality of computers operating as a register instance, receiving a broadcast comprised of an updated order data payload;

determining a computer operating as a register instance in the system that owns the received order by inspecting the received order data payload;

generating a data payload comprising a request for ownership and a destination corresponding to the determined owning computer.

4. The method of claim 3 further comprising:

receiving at the first computer operating as a register instance a message representing a request for ownership of the order;

determining a computer operating as a register instance in the system corresponding to the change of ownership request by inspecting the data comprising the received message;

calculating a destination computer operating as a register instance from the routing table for routing an order ownership change data message to the determined computer; and

transmitting the order ownership change data message to the destination computer operating as a register instance.

5. The method of claim 4 further comprising:

receiving at the first computer operating as a register instance a change of order ownership data message;

generating a data payload comprised of the updated order, an identification of a computer operating as a register instance designated as the owner of the order and a value indicating “broadcast”; and

transmitting the generated data payload to a next peer indicated in the routing table of the first computer operating as a register instance.

6. The method of claim 4 further comprising:

Broadcasting from the first computer operating as a register instance the order to all of the other peer computers in the wireless computer network operating as a register instance;

receiving a confirmation of receipt from at least one of the other computers operating as a register instance;

storing in memory the identity of the confirming computers operating as a register instance; and

determining whether an identity of the computer operating as a register instance requesting the change in ownership is listed among a set of predetermined stored identities, and if not, transmitting a response denying the request.

7. The method of claim 4 further comprising:

Broadcasting from the first computer operating as a register instance to the other computers operating as a register instance comprising the system the order data payload with a unique broadcast tag value corresponding to the content of the data payload;

storing on the receiving computers operating as a register instance comprising the system the order data and unique broadcast tag value;

receiving from the requesting computer operating as a register instance a tag included with the ownership change request; and

confirming that the received tag matches the broadcast tag value.

8. The method of claim 3 further comprising the steps of:

receiving at the least one of the plurality of computers operating as a register instance a broadcast peer list;

updating at each computer operating as a register instance, its corresponding stored routing table using the received broadcast peer list;

calculating at said at least one of the plurality of computers operating as a register instance a peer list derived from the updated routing table stored on the said at least one of the plurality of computers operating as a register instance; and

the at least one of the plurality of computers operating as a register instance transmitting to an at least one of its connected peers a data payload comprised of the received peer list.

9. The method of claim 8 further comprising:

at the at least one of the plurality of computers operating as a register instance, detecting any redundancies in the updated peer list; and

truncating the redundancies from the data payload.

10. The method of claim 1 further comprising:

at the at least one of a plurality of computers operating as a register instance, receive connectivity information describing connectivity among at least a subset of the plurality of computers operating as a register instance; and

Using the received connectivity information to calculate the peer list.

Assignments (10)
MERGER Recorded Dec 8, 2020
From: SHOPKEEP INC.
To: LIGHTSPEED COMMERCE USA INC.
Reel/Frame 054572/0166 →
RELEASE OF SECURITY INTEREST Recorded Dec 2, 2020
From: ORIX GROWTH CAPITAL LLC
To: SHOPKEEP INC.
Reel/Frame 054519/0407 →
RELEASE OF SECURITY INTEREST Recorded Nov 27, 2020
From: PACIFIC WESTERN BANK
To: SHOPKEEP INC.
Reel/Frame 054477/0805 →
RELEASE OF SECURITY INTEREST Recorded May 14, 2020
From: HORIZON TECHNOLOGY FINANCE CORPORATION
To: SHOPKEEP INC.
Reel/Frame 052659/0241 →
CHANGE OF NAME Recorded May 22, 2019
From: SHOPKEEP.COM INC.
To: SHOPKEEP INC.
Reel/Frame 049253/0248 →
SECURITY INTEREST Recorded Oct 10, 2018
From: SHOPKEEP INC.
To: ORIX GROWTH CAPITAL, LLC
Reel/Frame 047124/0001 →
CHANGE OF NAME Recorded Apr 26, 2018
From: SHOPKEEP.COM, INC.
To: SHOPKEEP INC.
Reel/Frame 045644/0641 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2017
From: ORDWAY, JASON; BREEN, KIERAN; HAMILL, JORDAN; VICKERY, JOSHUA
To: SHOPKEEP.COM, INC.
Reel/Frame 043423/0723 →
SECURITY INTEREST Recorded Jan 31, 2017
From: SHOPKEEP INC.
To: PACIFIC WESTERN BANK
Reel/Frame 041576/0625 →
SECURITY INTEREST Recorded Oct 24, 2016
From: SHOPKEEP.COM INC.
To: HORIZON TECHNOLOGY FINANCE CORPORATION
Reel/Frame 040103/0946 →
Continuity (3)
Continuation In Part 13037048 · Feb 28, 2011
Provisional Application 62066639 · Oct 21, 2014
Related Publication 20160043928A1 · Feb 11, 2016
Cited By (1)
US 12,634,243