IP Library Granted Patent US 12,126,694
Granted Patent B2
US 12,126,694 · App. 17/713,938 · Granted Oct 22, 2024

Stream engine using compressed bitsets

Inventor: Jonathan Colt (Grosse Pointe Woods, MI)
Assignee: Jive Software, Inc.
H04L67/535G06F16/2237G06F16/24568G06F16/24569
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 12,126,694
App. No.
17/713,938
Granted
Oct 22, 2024
Kind
B2
Abstract

Technologies are described for storing and reporting user activities within a computing environment. For example, bitsets (e.g., compressed and/or uncompressed bitsets) can be used to store activities (e.g., where each activity is a bit in the bitset in chronological order). Separate bitsets can be maintained for followable aspects of the activities (e.g., a separate bitset for each unique followable). Activity streams can be produced from the compressed bitsets (e.g., custom streams reflecting followables designated by users).

Claims (42)

1. A method, implemented at least in part by a computing device, for creating compressed bitsets storing information related to user activity, the method comprising:

executing code by one more processors to cause the computing device to perform operations comprising:

monitoring a new activity being performed within a computing environment;

obtaining a set of compressed bitsets, wherein the set of compressed bitsets represents followable aspects of activities being performed within the computing environment, wherein each followable is represented by a unique one of the bitsets and each of the activities is represented by at least one bit location and at least one bit value in each of the bitsets;

identifying one or more followables associated with the new activity being monitored; and

appending one or more bits to the obtained set of compressed bitsets to generate a revised set of compressed bitsets, wherein the one or more bits appended are bits that represent the new activity according to the identified followables.

2. The method of claim 1 , wherein identifying the followables associated with the new activity comprises:

identifying one or more of who, what, when, where, and why followables are associated with the new activity.

3. The method of claim 1 , wherein the set of compressed bitsets comprises a compressed bitset for each unique followable associated with the activities being performed by users within the computing environment.

4. The method of claim 1 , wherein each compressed bitset, of the set of compressed bitsets, has the same number of bits.

5. The method of claim 4 , wherein:

creating a document comprises one or more of:

creating a blog post, a word processing document, and a tweet;

viewing a document comprises one or more of:

clicking on a document in a file system and on a web page;

the user liking a document comprises one or more of:

the user clicking on a user interface element associated with the document indicating the user likes the document; and

the user commenting comprises the user adding a comment associated with the document.

6. The method of claim 4 , wherein the followable is a consistently identifiable thing from which the activities can be manipulated.

7. The method of claim 1 , wherein each compressed bitset, of the set of compressed bitsets, is compressed using run-length encoding.

8. The method of claim 1 , wherein the appending bits to the obtained set of compressed bitsets comprises appending a bit value to each compressed bitset for the new activity.

9. The method of claim 1 , wherein the appending bits to the obtained set of compressed bitsets comprises:

for each compressed bitset, appending one bit:

when the compressed bitset is associated with a followable that is one of the identified followable, setting the one bit to a first bit value indicating the followable is one of the identified followables; and

when the compressed bitset is associated with a followable that is not one of the identified followables, setting the one bit to a second bit value, different from the first bit value, indicating the followable is not one of the identified followables.

10. The method of claim 9 , wherein the first bit value is a one, and wherein the second bit value is a zero.

11. The method of claim 1 , wherein executing code by the one more processors cause the computing device to perform further operations comprising:

monitoring one or more additional new activities being performed within the computing environment; and

performing the obtaining, the identifying, and the appending for the one or more additional new activities being performed.

12. The method of claim 1 , wherein executing code by the one more processors cause the computing device to perform further operations comprising:

creating a custom stream, wherein creating a custom stream comprises:

receiving a custom stream request comprising one or more followables for the custom stream;

identifying one or more compressed bitsets, of the set of compressed bitsets, corresponding to the one or more followables for the custom stream; and

using the one or more compressed bitsets identified for the custom stream, composing a view that presents activities common to the one or more compressed bitsets for the custom stream.

13. The method of claim 1 , wherein each compressed bitset, of the set of compressed bitsets, contains a sequence of bits, and wherein each bit, of the sequence of bits, is associated with a different activity.

14. The method of claim 1 , wherein the activities comprise one or more of:

a user of the computing environment creating a document;

the user viewing a document;

a user liking a document;

a user editing a document;

a user modifying a document; and

a user commenting on a document.

Assignments (1)
SECURITY INTEREST Recorded Sep 20, 2024
From: JIVE SOFTWARE, LLC
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 068651/0281 →
Continuity (2)
Continuation 14231005 · Mar 31, 2014
Related Publication 20220232088A1 · Jul 21, 2022