US Pat. No. 9,411,489

INTERFACING WITH A SPATIAL VIRTUAL COMMUNICATION ENVIRONMENT

Sococo, Inc., Eugene, OR...

1. A method, comprising on a display:
presenting a spatial layout of zones of a virtual area in a network communication environment supporting realtime communications
between network nodes respectively associated with a user and one or more other communicants who are represented by respective
avatars in respective ones of the zones, wherein

each zone supports establishment of communication sessions between network nodes of communicants who are co-present in the
zone,

for each of multiple ones of the zones, realtime conferencing data streams transmitted in communication sessions between network
nodes of communicants who are co-present in the zone are independent of realtime conferencing data streams transmitted in
communication sessions between network nodes of communicants who are co-present in other ones of the multiple zones, and

in the spatial layout, the zones of the virtual area are arranged in a list and sorted based on a query on relationship database
records describing contexts of respective interactions between communicants in respective ones of the zones of the virtual
area; and

displaying a graphic visualization of multiple simultaneous communication sessions occurring between network nodes in different
respective ones of the zones of the virtual area, wherein the graphic visualization demarcates each of the zones with a respective
visual geometric boundary in the spatial layout, and the displaying comprises displaying visual cues indicating current communication
states of the communicants in respective ones of the zones of the virtual area.

US Pat. No. 9,411,490

SHARED VIRTUAL AREA COMMUNICATION ENVIRONMENT BASED APPARATUS AND METHODS

Sococo, Inc., Eugene, OR...

1. A method, comprising:
connecting to a virtual area platform supporting realtime communications between respective network nodes of a user and other
communicants in one or more virtual areas, wherein each virtual area is a separate and distinct computer-managed space that
comprises a respective set of zones of presence for communicant interaction, the virtual area platform is administered by
a first network service that maintains a virtual place based relationship database storing records of interactions between
respective ones of the user and the other communicants in the zones of the one or more virtual areas, and a particular one
of the virtual areas is associated with a second network service that manages a social network according to relationship grid
data;

sending to the virtual area platform a request to establish a presence for the user in a selected one of the one or more virtual
areas;

responsive to data received from the virtual area platform, on a display displaying
a visualization of the user in the user's zone of presence in the selected virtual area together with graphical representations
of any of the other communicants who are copresent with the user in the user's zone of presence, and

adjacent to the visualization, a dynamically sorted list of graphical representations of ones of the other communicants associated
with graphical depictions of their respective zones of presence in the one or more virtual areas, wherein the list is dynamically
sorted based on virtual presence of the communicants in the virtual area zones, and the graphical representations of ones
of the other communicants who are copresent with one another in a respective one of the zones are grouped together in the
list,

wherein the displaying comprises displaying graphical representations of respective communicants who are present in the particular
virtual area based on data associated with the user and obtained from the virtual place based relationship database, and displaying
graphical representations of respective communicants who are members of the second network service based on relationship grid
data associated with the user and exported by the second network service; and

responsive to data received from the virtual area platform, establishing realtime communications between the user and one
or more of the other communicants who are copresent with the user in the user's zone of presence.

US Pat. No. 9,514,444

ENCAPSULATING VIRTUAL AREA BASED COMMUNICANT ASSEMBLIES

Sococo, Inc., Eugene, OR...

1. A method, comprising:
administering realtime communications between network nodes respectively associated with communicants in a virtual area;
detecting assemblies of copresent ones of the communicants in the virtual area;
for each of respective ones of the detected assemblies, receiving information regarding subject matter of the detected assembly
from at least one of the communicants associated with the detected assembly;

for each of respective ones of the detected assemblies, generating a respective meeting object linked to interaction information
derived from communicant interactions in the assembly and linked to the received information regarding subject matter of the
detected assembly;

selecting ones of the meeting objects based on a query on the generated meeting objects;
determining respective meeting summary data for the assemblies corresponding to the selected meeting objects based on the
interaction information and the received information regarding subject matter of the assemblies; and

transmitting the determined meeting summary data in a format suitable for concurrent display on a respective one of the network
nodes of a communicant who is associated with the query on the meeting objects.

US Pat. No. 9,813,522

MANAGING INTERACTIONS IN A NETWORK COMMUNICATIONS ENVIRONMENT

Sococo, Inc., Eugene, OR...

1. A computer-implemented method, comprising:
querying historical interaction records describing respective realtime network interactions between a user and other communicants
in one or more virtual areas, wherein each of the one or more virtual areas is associated with one or more communication-defining
attributes that define one or more modes of communication between communicants in the virtual area, and one or more respective
social-context-defining attributes that define a social context for communicants in the virtual area, wherein the one or more
respective social-context-defining attributes comprise a descriptive label that is presented to communicants and indicates
an intended use of a particular one of the virtual areas by communicants in the particular virtual area;

determining one or more relationship attribute values each characterizing a respective social network tie between the user
and a particular one of the other communicants based on the one or more social-context-defining attributes respectively associated
with each of the one or more virtual areas described in ones of the historical interaction records of the user's interactions
in the one or more virtual areas, wherein the determining comprises deriving the one or more relationship attribute values
based on the descriptive label;

storing the one or more relationship attribute values in at least one non-transitory computer-readable medium; and
managing one or more aspects of the user's interactions in the network communications environment based on the one or more
relationship attribute values.

US Pat. No. 9,602,447

CONTEXT BASED VIRTUAL AREA CREATION

Sococo, Inc., Eugene, OR...

1. A method in a network communications environment comprising a network service implemented by one or more server network
nodes and supporting realtime communications between client network nodes of ones of a user and one or more other communicants
in virtual areas that define respective communication contexts in the network communications environment, the method comprising
by the network service:
in connection with a graphical user interface presented on the client network node of the user, receiving from the client
network node of the user a request to associate a content item with a new virtual area;

based on the request, creating a new virtual area and associating the content item with the new virtual area; and
administering one or more of the supported realtime communications between the client network nodes of respective ones of
the communicants who are co-present in the new virtual area in connection with the content item, wherein the administering
comprises enabling the client network nodes of the co-present ones of the communicants to jointly share the content item.

US Pat. No. 9,483,157

INTERFACING WITH A SPATIAL VIRTUAL COMMUNICATION ENVIRONMENT

Sococo, Inc., Eugene, OR...

1. A method in a network communication environment comprising a network service implemented by at least one server network
node and supporting realtime communications between a user and one or more other communicants who are operating respective
network nodes and are present in a virtual area comprising a zone, the method comprising:
in a graphical user interface, displaying graphical representations of the virtual area, a first viewscreen object in the
zone of the virtual area, a second viewscreen object in the zone of the virtual area, and avatars representing the user and
one or more other communicants who are co-present with the user in the virtual area;

based on first input in connection with the first viewscreen object provided by a communicant who is present in the zone,
simultaneously sharing renderings of contents of a first data file from the network node of the communicant who provided the
first input with one or more other ones of the communicants who are present in the zone of the virtual area; and

concurrently with the sharing of the renderings of the contents of the first data file, based on second input in connection
with the second viewscreen object provided by a communicant who is present in the zone of the virtual area, simultaneously
sharing renderings of contents of a second data file from the network node of the communicant who provided the second input
with one or more other ones of the communicants who are present in the zone of the virtual area.

US Pat. No. 9,813,463

PHONING INTO VIRTUAL COMMUNICATION ENVIRONMENTS

Sococo, Inc., Eugene, OR...

1. A computer-implemented method, comprising:
maintaining a persistent virtual area that supports establishment of respective presences of communicants operating respective
network nodes connected to the virtual area, wherein the virtual area comprises multiple zones each of which supports establishment
of a respective presence for one or more communicants and is associated with a respective call-in telephone number;

establishing a presence in the virtual area for a user of a Public Switched Telephone Network (PSTN) terminal device, wherein
the establishing comprises receiving a particular one of the call-in telephone numbers in connection with a call from the
PSTN terminal device and establishing the presence for the user in the respective one of the zones associated with the particular
call-in telephone number; and

administering transmission of data associated with the virtual area to the PSTN terminal device.

US Pat. No. 9,575,625

COMMUNICATING BETWEEN A VIRTUAL AREA AND A PHYSICAL SPACE

Sococo, Inc., Eugene, OR...

1. A method performed by an apparatus in a physical space, the method comprising by the apparatus:
transmitting a login request to a network service to establish a presence in a virtual area;
based on provisioning instructions received from the network service, establishing a communication session with a client network
node of a communicant who is copresent with the established presence in the virtual area;

based on copresence of the communicant with the established presence, exchanging realtime communications with the client network
node in the communications session in a context defined by the virtual area;

displaying image content on a physical viewscreen in the physical space, wherein the image content comprises a graphical user
interface;

sharing images of the displayed image content with the client network node to display in a graphical viewscreen interface
in the context defined by the virtual area;

receiving data describing communicant input in relation to the shared images from the client network node;
based on the received data describing the communicant input, modifying the displaying of the image content on the physical
viewscreen.

US Pat. No. 9,853,922

VIRTUAL AREA COMMUNICATIONS

Sococo, Inc., Boston, MA...

1. A computer-implemented method in a network communications environment comprising a network service implemented by at least
one server network node, the method comprising by the network service:
administering one or more real-time data stream connections between client network nodes of respective communicants who are
co-present in zones of a virtual area that define respective communication contexts in the network communications environment
and are associated with a directed graph defining an ordered arrangement of tasks in a workflow for a process to be performed
by communicants in the virtual area, wherein each of the zones is associated with a respective set of one or more of the tasks
corresponding to a respective stage of the process, a respective set of one or more communicants assigned to perform the one
or more tasks respectively associated with the zone, and a respective set of one or more resources linked to the zone;

to the client network nodes of communicants who are present in the virtual area, transmitting a visualization of the virtual
area comprising a spatial layout of the zones arranged in an order that tracks the ordered arrangement of the associated tasks
defined in the directed graph;

for each of respective ones of the zones, controlling establishment of communicant presence in the zone based on the respective
set of one or more communicants assigned to perform one or more of the respective set of tasks associated with the zone;

wherein the communicants are represented by respective objects in the virtual area, each of the objects is associated with
at least one of a source and a sink of one or more data stream types, and the administering is based on the respective sources
and sinks associated with the objects and the respective zones in which the objects are located; and

wherein at least one of the one or more resources linked to a given one of the zones is a network service, and the administering
comprises administering a respective network connection between the network service and each of one or more of the network
nodes of respective communicants who are present in the given zone.

US Pat. No. 9,755,966

ROUTING VIRTUAL AREA BASED COMMUNICATIONS

Sococo, Inc., Eugene, OR...

1. A method, comprising:
in association with a virtual area, an intermediate network node establishing a first network connection with a first network
node present in the virtual area and establishing a second network connection with a second network node present in the virtual
area;

based on stream routing instructions, the intermediate network node creating between the first network node and the second
network node a stream router comprising a directed graph of processing elements operable to receive network data, process
the received network data, and output the processed network data;

on the first network connection, the intermediate network node receiving an input data stream derived from output data generated
by the first network node in association with the virtual area;

the intermediate network node processing the input data stream through the stream router to produce an output data stream;
on the second network connection, the intermediate network node sending the output data stream to the second network node;
a third network node respectively establishing a first control session with the first network node, a second control session
with the second network node, and a third control session with the intermediate network node, wherein on the first, second,
and third control sessions the third network node transmits to the first, second, and intermediate network nodes control messages
that administer the establishing of the first and second network connections and the transmission of data on the first and
second network connections;

the third network node sending the stream routing instructions to the intermediate network node on the third control session;
and

the third network node determining the stream routing instructions based on a specification of the virtual area and locations
of presence of the first and second network nodes in the virtual area, wherein the virtual area specification maps references
to generic sub-routes to node-type-specific processing element configurations, and the determining comprises the third network
node ascertaining the generic sub-routes associated with the locations of presence of the first and second network nodes in
the virtual area, ascertaining the node-type-specific element configurations corresponding to node types of the first and
second network nodes, and creating the stream routing instructions based on the ascertained node-type-specific element configurations.

US Pat. No. 9,851,863

COMMUNICATING BETWEEN A VIRTUAL AREA AND A PHYSICAL SPACE

Sococo, Inc., Boston, MA...

1. A method, comprising by a client network node that has a client source of a respective data stream content type and a client
sink of a respective data stream content type:
displaying a user interface comprising a representation of a virtual area that supports establishment of respective presences
of communicants operating respective client network nodes, a representation of each of the communicants who is present in
the virtual area, and a representation of an object associated with an apparatus in a physical space, wherein the apparatus
has an apparatus sink that is complementary to the client source and an apparatus source that is complementary to the client
sink;

establishing a respective connection between each active pair of complementary sources and sinks of the client network node
and the apparatus in association with the virtual area, wherein each connection supports transmission of the respective data
stream content type between the apparatus and the client network node;

presenting interaction controls associated with the object for interacting with communicants in the physical space.

US Pat. No. 9,762,641

AUTOMATED REAL-TIME DATA STREAM SWITCHING IN A SHARED VIRTUAL AREA COMMUNICATION ENVIRONMENT

Sococo, Inc., Eugene, OR...

1. A computer-implemented method of constructing a virtual area, comprising:
in response to user input, creating a definition of a spatial model of the virtual area in a display monitor, wherein the
spatial model comprises a spatial arrangement of stationary geometric elements of the virtual area that are presented in the
display monitor and zones comprising boundaries that are fixed in relation to the stationary geometric elements of the virtual
area;

in response to user input, associating switching rules with the model of the virtual area, wherein the associating comprises
associating a first switching rule with a first one of the zones in the definition of the spatial model of the virtual area,
wherein the first switching rule designates the first zone as a source zone, designates a second one of the zones as a sink
zone, and defines a respective instruction to automatically connect sources of a respective real-time data stream type that
are associated with objects in the first zone with sinks of the respective real-time data stream type that are associated
with objects in the second zone, wherein the designated source zone and the designated sink zone are spatially different zones;
wherein in accordance with the first switching rule, entry of a given object associated with a source of the respective real-time
data stream type into the first zone causes the source associated with the given object to be automatically connected with
a sink of the respective real-time data stream type that is associated with an object in the second zone;

generating a virtual area specification describing the model of the virtual area and the associated switching rules; and
storing the virtual area specification in a non-transitory computer-readable storage medium.

US Pat. No. 10,003,624

REALTIME COMMUNICATIONS AND NETWORK BROWSING CLIENT

Sococo, Inc., Boston, MA...

1. A method, comprising:executing a server application to generate instructions for a web browsing client application being executed by a client network node and comprising a realtime framework that manages processing of realtime data streams;
in accordance with the server application instructions, the web browsing client application establishes a peer-to-peer connection for streaming realtime data streams between the client network node and another client network node executing another web browsing client application using a connectionless transport protocol;
during the streaming, the realtime framework of the web browsing application performs operations comprising managing processing of the realtime data streams, and dynamically adjusting the processing of the realtime data streams based on network performance over the peer-to-peer connection, wherein the adjusting comprises, based on a determination that a bandwidth metric has deviated from a performance target, initiating a packet throttling operational mode comprising: starting a current cycle with a reset bandwidth budget; on condition that there is a time-critical packet currently queued to transmit and there is sufficient bandwidth budget available in the current cycle, transmitting the time-critical packet and reducing the bandwidth budget for the current cycle by an amount corresponding the transmitted time-critical packet; and, on condition that no time-critical packet currently is queued to transmit, there is a non-time-critical packet queued to transmit, and there is sufficient bandwidth budget available in the current cycle, transmitting the non-time-critical packet and reducing the bandwidth budget for the current cycle by an amount corresponding the transmitted non-time-critical packet.

US Pat. No. 9,942,181

CONTEXT BASED VIRTUAL AREA CREATION

Sococo, Inc., Boston, MA...

1. A method in a network communications environment comprising a network service implemented by one or more server network nodes and supporting realtime communications between client network nodes of communicants in virtual areas that define respective communication contexts in the network communications environment, the method comprising by the network service:transmitting, to each of requesting ones of the client network nodes of a user and one or more other communicants, a respective specification of a graphical user interface comprising a graphical representation of a virtual area;
establishing presences for the user and the one or more other communicants in visual zones of the virtual area, wherein each communicant is able to leave one of the visual zones and enter another one of the visual zones;
responsive to a request received in connection with the graphical user interface on the client network node of the user, associating streaming media content with a media playback object in the virtual area and publishing the streaming media content on a global channel to which client network nodes of communicants who are present in any of the visual zones can subscribe;
managing synchronous delivery of the streaming media content to respective ones of the client network nodes of the communicants who are in the virtual area;
administering realtime communications between the client network nodes of ones of the communicants who are copresent in respective ones of the visual zones, wherein communicants in the same visual zone are able to communicate with one another while co-consuming the streaming media content with the communicants in the same visual zone and with the communicants in other visual zones of the virtual area.

US Pat. No. 10,659,511

AUTOMATED REAL-TIME DATA STREAM SWITCHING IN A SHARED VIRTUAL AREA COMMUNICATION ENVIRONMENT

Sococo, Inc., Boston, MA...

1. A method of connecting network nodes associated with respective objects in a virtual area comprising:by computer apparatus, sending to the network nodes computer readable instructions for establishing one or more real-time data stream connections between the network nodes according to a virtual area specification comprising a description of a spatial layout of zones that are fixed in relation to geometric elements of the virtual area, wherein each of the zones is associated with a different respective zone boundary in the virtual area and a respective switching rule, and each switching rule specifies a stream connection between sources of a respective real-time data stream type within the zone boundary of a respective designated source one of the zones and sinks of the respective real-time data stream type within the boundary of a respective designated sink one of the zones; and
wherein execution of the instructions causes the network nodes to perform operations comprising, for each switching rule, establishing a respective stream connection for streaming the respective real-time data stream type between (i) a first one of the network nodes that is associated with an object within the zone boundary of the respective designated source zone and (ii) a second one of the network nodes that is associated with an object within the geometric boundary of the respective designated sink zone.

US Pat. No. 10,148,457

CAPABILITIES BASED MANAGEMENT OF VIRTUAL AREAS

Sococo, Inc., Boston, MA...

1. A computer-implemented method in a network communications environment comprising a network service implemented by one or more server network nodes and supporting realtime communications between client network nodes of co-present communicants in virtual rooms that define respective communication contexts in the network communications environment, the method comprising by the network service:monitoring states of one of the virtual rooms as defined by a respective sets of one or more variable values of one or more virtual room attributes comprising an occupancy attribute that provides an indication of a count of communicants who are present in the respective virtual room;
managing, for each of one or more communicants, a respective set of one or more capabilities each of which defines a respective permission for an action, behavior, or state of the communicant;
dynamically updating respective capabilities of the communicants based on capability rules, each of which defines an action with respect to a capability contingent on the respective communication context, and changes in states of the communicants and the virtual rooms, wherein the dynamically updating comprises
based on a first one of the capability rules that is associated with a particular one of the virtual rooms and a determination that the particular virtual room is in a first state as defined by a first set of one or more values of the one or more attributes comprising a particular role attribute value, automatically
granting a respective capability to enter the particular virtual room to each of one or more of the communicants who is associated with the particular role attribute value and automatically granting a respective capability to modify one or more attributes of the particular virtual room to a particular communicant who is not associated with the particular role attribute value conditioned on the particular communicant being present in the virtual room, and
based on a second one of the capability rules that is associated with the particular virtual room and a determination that the particular virtual room is in a second state as defined by a second set of one or more values of the one or more virtual room attributes in which the value of the occupancy attribute is different from the value of the occupancy attribute in the first state, automatically revoking the capability to enter the particular virtual room from one or more of the communicants; and
administering one or more of the supported realtime communications between the client network nodes of respective ones of the communicants who are co-present in respective ones of the virtual rooms.

US Pat. No. 10,069,873

VIRTUAL AREA BASED TELEPHONY COMMUNICATIONS

Sococo, Inc., Boston, MA...

1. A computer-implemented method in a network communications environment comprising a network service implemented by at least one server network node and supporting realtime communications between an Internet Protocol (IP) client of a first communicant and a telephony client of a second communicant in a computer-managed virtual space that defines a respective communication context in the network communications environment, the method comprising:based on a login request from the IP client, by the network service, creating an instance of the virtual space and establishing a presence for the first communicant in the instance of the virtual space;
receiving, by the network service, a call request from the IP client of the first communicant who is present in the instance of the virtual space, wherein the call request comprises a telephone number associated with the telephony client of the second communicant;
initiating, by the network service, a realtime media transport protocol session for carrying audio data associated with the telephony client between an Internet Telephony Service Provider (ITSP) and a consolidation unit associated with the instance of the virtual space;
establishing, by the network service, a presence for the second communicant in the instance of the virtual space;
by a translation engine, translating signals generated by the ITSP based on telephony signals received from the telephony client into one or more commands executable by the network service to perform one or more actions in the virtual space; and
administering, by network service, transmission of audio data between the IP client and the telephony client over the realtime media transport protocol session in the context of the instance of the virtual space.

US Pat. No. 10,027,528

PERVASIVE REALTIME FRAMEWORK

Sococo, Inc., Boston, MA...

1. A method performed by a computer system in a network communication environment, the method comprising:transmitting a web page to a web browser application being executed on a client network node of a user, wherein the web page is associated with a designation of a customer service virtual area, and a view of the web page is rendered by the web browser application;
conditioned on a determination that a customer service representative is present in an instance of a customer service virtual area corresponding to the designation, triggering a rendering of the instance of the customer service virtual area on the user's client network node; and
establishing a presence for the user in the rendered instance of the customer service virtual area, wherein the rendered instance of the customer service virtual area supports realtime communications between the client network node of the user and a client network node of the customer service representative in a context defined by the instance of the customer service virtual area.

US Pat. No. 10,567,199

CAPABILITIES BASED MANAGEMENT OF VIRTUAL AREAS

Sococo, Inc., Austin, TX...

1. A computer-implemented method in a network communications environment comprising a server node supporting realtime communications between client nodes of co-present communicants in a virtual area comprising virtual rooms, the method comprising by the server node:creating a capabilities engine to manage capabilities on behalf of communicants in the virtual area, and provide for each communicant a respective capability ring that stores the communicant's persistent capabilities and transient capabilities that are granted as a result of applying capability rules to events;
monitoring states of a particular one of the virtual rooms as defined by a document object model (DOM) that represents a current state of the virtual area and comprises an occupancy attribute that provides an indication of occupancy in the particular virtual room;
dynamically updating the respective capability ring of the particular communicant based on changes in states of the communicants and the virtual rooms, wherein the dynamically updating comprises
based on a permissions check by the capabilities engine against the respective capability ring of the particular communicant, determining that the particular virtual room is in a first state as defined by a first set of one or more values of the one or more attributes in the DOM model and automatically granting a respective transient capability to enter the particular virtual room to the particular communicant, and
based on a permissions check by the capabilities engine against the respective capability ring of the particular communicant, ascertaining that the particular virtual room is in a second state as defined by a second set of one or more values of the one or more virtual room attributes in the DOM model in which the value of the occupancy attribute is different from the value of the occupancy attribute in the first state and automatically revoking the capability to enter the particular virtual room from the particular communicant; and
administering one or more of the supported realtime communications between the client nodes of respective ones of the communicants who are co-present in respective ones of the virtual rooms.

US Pat. No. 10,366,514

LOCATING COMMUNICANTS IN A MULTI-LOCATION VIRTUAL COMMUNICATIONS ENVIRONMENT

Sococo, Inc., Boston, MA...

1. A computer-implemented method in a network communications environment comprising a network service implemented by at least one server network node and supporting realtime communications between co-present ones of a user and one or more other communicants in virtual locations that define different respective communications contexts in the network communications environment, the method comprising by the network service:transmitting computer software to a client network node associated with the user, wherein the computer software is associated with a realtime communications platform, and a view of an instance of a communicant search interface is rendered by executing the computer software on the client network node;
establishing a presence for the user in the rendered instance of the communicant search interface;
responsive to an input of the user from the client network node in connection with the communicant search interface, ascertaining a communicant sorting criterion and generating a sorted listing of ones of the communicants based on the ascertained communicant sorting criterion;
sending to the client network node associated with the user a contact list associated with an array of respective graphical representations of the ones of the communicants who are present in respective ones of the virtual locations and sorted according to the communicant sorting criterion and, adjacent the respective graphical representation of each of the communicants in the sorted listing who currently is co-present with one or more other communicants in a respective one of the virtual locations, providing a respective toggle control that, in response to the user's input, selectively opens and closes a respective co-presence capsule that, when opened, appears in-line with the array of graphical representations and contains the respective graphical representations of the communicant in the sorted listing, the one or more other communicants who are co-present in the respective virtual location, and a respective set of one or more descriptive and ordered links configured to navigate the user's presence to the respective virtual location; and
responsive to user selection of one of the links, establishing a presence for the user and configuring the client network node to communicate in the respective virtual location associated with the selected link;
wherein the respective virtual location is associated with a respective prop that is associated with respective functionality to interact with other communicants in the virtual location and a respective display name that is displayed in connection with the respective set of one or more descriptive and ordered links;
wherein the respective virtual location is associated with application sharing functionality and file sharing functionality that are activated by ones of the user and the other communicants in the respective virtual location through respective props to share applications and files respectively between their respective client network nodes over respective application sharing and file sharing channels.

US Pat. No. 10,560,306

PERVASIVE REALTIME FRAMEWORK

Sococo, Inc., Boston, MA...

1. A method performed by a computer system, the method comprising:transmitting, by the computer system, electronic content to an application being executed on a client network node of a user who is a member of a group, wherein the electronic content is associated with a designation of the group, and a view of the electronic content is rendered by the application;
conditioned on a determination that a current focus of the user is on the rendered view of the electronic content, automatically by the computer system
establishing a presence for the user in an instance of a virtual area, and
exporting an indication of the presence of the user in the instance of the virtual area to an application being executed on a client network node of another member of the group.

US Pat. No. 10,650,006

ATTRIBUTE PRIORITIZED CONFIGURATION USING A COMBINED CONFIGURATION-ATTRIBUTE DATA MODEL

Sococo, Inc., Austin, TX...

1. A method for using computer assisted configuration technology to generate one or more attribute prioritized configuration answers to one or more configuration queries, the method comprising:performing by a computer system programmed with code stored in a memory and executable by a processor of the computer system to configure the computer system into a machine for:
receiving one or more configuration queries from a client system, wherein (i) the product comprises multiple parts and a plurality of the parts have multiple, selectable attributes and (ii) the configuration queries include a selection of parts of a product and a selection of attributes of the product;
processing the one or more configuration queries, configuration rules, and attribute based preference algorithm using a combined configuration rules-attributes model, a configuration-rules processing engine, and a preference algorithm to calculate valid configuration answers in accordance with the combined configuration rules-attributes model and preferences included in the preference algorithm, wherein a plurality of the configuration rules define relationships between parts of the product and a plurality of attributes of the parts, wherein:
the attributes represent details about the parts;
the preference algorithm limits a number of valid configuration answers to a proper subset of all possible valid configuration answers;
the combined configuration rules-attributes model includes rules (A) defining relationships between parts and (B) defining relationships between parts and attributes; and
for each configuration query, processing the configuration query configures the parts of the product and attributes of the parts in a single step; and
predetermining values of one or more combinations of attributes associated with respective configuration answers;
storing the predetermined values;
retrieving the stored predetermined values associated with a particular valid configuration answer if the particular valid configuration is an answer to one or more of the configuration queries;
receiving a selection of at least one of the one or more product attributes to be prioritized;
prioritizing the valid configuration answers by one or more of the plurality of attributes in the combined configuration rules-attributes model; and
providing at least a subset of the valid configuration answers over a communications network to the client system to enable an application program of the client system to present at least the subset of the valid configuration answers, wherein the provided valid configuration answers are prioritized by one or more of the predetermined attributes.

US Pat. No. 10,608,969

CONTEXT BASED VIRTUAL AREA CREATION

Sococo, Inc., Austin, TX...

1. A method in a network communications environment comprising a network service implemented by one or more computers, the method comprising by the network service:responsive to a request received from a network node of a first communicant, associating a source of live streaming data with a display component of a graphical user interface comprising a graphical representation of a virtual area, wherein the live streaming data comprises a live video capture stream, a live screen capture stream, and a live audio capture stream;
transmitting, to each of one or more requesting network nodes of one or more other communicants, a respective specification of the graphical user interface comprising a first display area for the display component and a second display area for a text chat component;
establishing respective presences for the first communicant and the one or more other communicants in the virtual area;
publishing visual streaming data comprising the live video capture stream and the live screen capture stream in the first display area, publishing chat streams sourced from the network node of the first communicant and the one or more requesting network nodes of the one or more other communicants in the second display area, and publishing the live audio capture stream on a global channel to which the one or more requesting network nodes of the one or more other communicants who are present in the virtual area can subscribe.

US Pat. No. 10,455,051

MANAGING INTERACTIONS IN A NETWORK COMMUNICATIONS ENVIRONMENT

Sococo, Inc., Eugene, OR...

1. A computer implemented method performed by one or more processors, comprising:inferring one or more relationship attribute values characterizing how a user relates to a particular one of other communicants based on a statistical analysis of records describing interactions of the user and the particular communicant in a network communications environment comprising virtual places that constitute separate and distinct communication contexts that are associated with respective place attribute values and respectively support one or more modes of communication between communicants in the virtual places, wherein inferring the one or more relationship attribute values comprises determining values of one or more interaction parameters characterizing respective aspects of communicant interactions in the virtual places based on the respective place attribute values, computing one or more scores based on one or more of the determined interaction parameter values, and ascertaining the one or more relationship attribute values based on the one or more scores;
storing the one or more relationship attribute values in at least one non-transitory computer-readable medium; and
managing one or more aspects of the user's interactions relating to the particular communicant in the network communications environment based on the one or more relationship attribute values.

US Pat. No. 10,367,729

ROUTING VIRTUAL AREA BASED COMMUNICATIONS

Sococo, Inc., Boston, MA...

1. A method of routing data streams between client network nodes in connection with a virtual area that supports establishment of communicant presence, the method comprising, by a computer system:routing one or more data streams of a first data stream type over a first type of network connection between client network nodes of users who are copresent in the virtual area;
responsive to an event that satisfies a switching predicate, ascertaining a second type of network connection between client network nodes of users who are copresent in the virtual area, wherein the first and second types of network connection are different, and the switching predicate is based on one or more of a count of client network nodes of users who are copresent in the virtual area, one or more types of data streams being communicated between client network nodes of the copresent users, bandwidth capabilities of client network nodes of the copresent users, attributes of the virtual area, and network latencies experienced by client network nodes of the copresent users;
responsive to a determination that a network connection of the second type currently exists, routing one or more data streams of the first data stream type over the second type of network connection between client network nodes of users who are copresent in the virtual area, and tearing down the one or more corresponding network connections of the first type; and
responsive to a determination that the second type of network connection currently does not exist, establishing one or more network connections of the second type, and routing one or more data streams of the first data stream type over the established second type of network connection between client network nodes of users who are copresent in the virtual area.

US Pat. No. 10,356,136

BRIDGING PHYSICAL AND VIRTUAL SPACES

Sococo, Inc., Boston, MA...

1. A computer-implemented method in a network communications environment comprising a network service implemented by at least one server network node and supporting realtime communications between co-present ones of a user and one or more other communicants in virtual locations that define different respective communication contexts in the network communications environment, the method comprising by the network service:based on a request from a first client network node, logging the first client network node into a particular one of the virtual locations, wherein the first client network node and a first communicant are located in a particular real-world location;
based on a request from a second client network node located outside the particular real-world location to log a second communicant into the particular virtual location, establishing a presence for the second communicant in the particular virtual location, and administering between the first and second client network nodes a first realtime communication connection that enables realtime communications between the second communicant and communicants who are located in the particular real-world location;
based on a request from a third client network node located outside the particular real-world location to log the user into the particular virtual location, establishing a presence for the user in the particular virtual location, administering between the first and third client network nodes a second realtime communication connection that enables realtime communications between the user and communicants who are located in the particular real-world location, and administering between the second and third client network nodes a third realtime communication connection that enables realtime communications between the user and the second communicant; and
based on a determination that the real-world location of the user coincides with the particular real-world location, terminating the second and third realtime communication connections while maintaining the first realtime communication connection and maintaining the presences of the user and the second communicant in the particular virtual location.

US Pat. No. 10,649,724

VOICE INTERFACE FOR VIRTUAL AREA INTERACTION

Sococo, Inc., Austin, TX...

1. A computer-implemented method in a network communications environment implemented by at least one server network node and supporting realtime communications between a user and one or more other communicants who are operating respective client network nodes and are co-present in any of multiple virtual locations of a virtual area that define different respective communication contexts in the network communications environment, the method comprising:processing voice input from the user;
calling one or more services associated with the network communications environment to perform operations comprising
detecting in the processed voice input a navigation command in a fixed set of navigation commands each of which is associated with a respective syntax, wherein the fixed set of navigation commands comprises a look command and a find command, wherein in response to the user vocalizing the look command with no modifier causes one of the services to send to the user a report of who else is in the user's current virtual location of presence in the virtual area and in response to the user vocalizing the look command with a specified virtual location in the virtual area causes one of the services to send to the user a report of who is in the specified virtual location in the virtual area, wherein the user vocalizing the find command with a specified contact operand causes one of the services to send to the user a report of the current virtual location of the specified contact in the virtual area, and the user vocalizing the find command with a specified name of a meeting in the virtual area causes one of the services to send to the user a report of the virtual location of the meeting with the specified name in the virtual area, wherein the detecting comprises probabilistically scoring a set of navigation commands based on application of semantic rules that measure consistency of the navigation commands with the user's current state or activity in the virtual area and, based on the scoring, selecting one of the navigation commands as the detected navigation command,
ascertaining one or more operands based on the processed voice input and the syntax associated with the detected navigation command, wherein the ascertaining comprises selecting the one or more operands from one or more of names associated with respective ones of the virtual locations and names associated with respective ones of the communicants based on relationship data indicating one or more of whether the user is a member of any of the respective ones of the virtual locations and whether any of the respective ones of the communicants is a contact of the user, and
producing navigation results comprising navigating an attentional focus or state of the user from a current virtual location to another virtual location based on application of the detected navigation command to the one or more ascertained operands.