U.S. patent application number 14/079873 was filed with the patent office on 2014-05-15 for multi-user interactive virtual environment system and method.
This patent application is currently assigned to Rounds Entertainment Ltd.. The applicant listed for this patent is Rounds Entertainment Ltd.. Invention is credited to Dany Fishel, Elliot Jaffe, Ilan Leibovich, Moshe Levin, Oren Levy, Natasha Shine.
Application Number | 20140136999 14/079873 |
Document ID | / |
Family ID | 50681309 |
Filed Date | 2014-05-15 |
United States Patent
Application |
20140136999 |
Kind Code |
A1 |
Leibovich; Ilan ; et
al. |
May 15, 2014 |
Multi-User Interactive Virtual Environment System and Method
Abstract
A system and method for providing interactive graphical and
multi-media connectivity between a plurality of users, especially
in the context of shared content. In aspects, the users are placed
into common virtual rooms or virtual interactive environments to
permit sharing of content and chat between the individuals in a
same virtual interactive environment. A common theme or subject of
interest can be a basis for creating one or more virtual
interactive environments or virtual rooms that users may be placed
into or move between. Other features and associated functions are
also described.
Inventors: |
Leibovich; Ilan; (Tel Aviv,
IL) ; Fishel; Dany; (Tel Aviv, IL) ; Levin;
Moshe; (Rannana, IL) ; Jaffe; Elliot;
(Hasmonaim, IL) ; Levy; Oren; (Herzliya, IL)
; Shine; Natasha; (Neve Monoson, IL) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Rounds Entertainment Ltd. |
Tel Aviv |
|
IL |
|
|
Assignee: |
Rounds Entertainment Ltd.
Tel Aviv
IL
|
Family ID: |
50681309 |
Appl. No.: |
14/079873 |
Filed: |
November 14, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61796538 |
Nov 14, 2012 |
|
|
|
61854815 |
May 2, 2013 |
|
|
|
Current U.S.
Class: |
715/753 |
Current CPC
Class: |
H04N 21/25891 20130101;
H04N 21/4223 20130101; H04N 7/152 20130101; H04N 21/4788 20130101;
H04N 7/155 20130101; H04N 21/8586 20130101; H04L 12/1822 20130101;
H04N 21/6125 20130101; H04N 21/8193 20130101; H04N 7/157 20130101;
H04L 12/1818 20130101; H04N 21/6143 20130101; H04N 21/6118
20130101; H04L 65/4038 20130101; H04L 65/403 20130101; H04N 21/4312
20130101 |
Class at
Publication: |
715/753 |
International
Class: |
H04L 29/06 20060101
H04L029/06 |
Claims
1. A method for processing information in a network, comprising:
registering a plurality of users in a user registry by storing
respective user data of said users into a first data store;
identifying a theme or event of interest to at least a subset of
said users; establishing a first network-accessible virtual
interactive environment, having a first purpose relating to said
theme or event, comprising storing first environment data and first
purpose data in a second data store; permitting said one or more of
said subset of users to join said first environment over said
network and share virtual interactive experiences therein;
dynamically creating a second network-accessible virtual
interactive environment associated with said first environment and
logically linked thereto in said network, including storing second
environment data and second purpose data in said second data store;
and permitting one or more of said subset of users to join said
second environment based on one or more criteria including criteria
relating to said user data and criteria based on said theme or
event.
2. The method of claim 1, further comprising tracking identities
and actions of tracked users sharing experiences in said first
environment and users sharing experiences in said second
environment.
3. The method of claim 2, further comprising rejecting a tracked
user from said first or second environments as a result of said
user data or an action of said tracked user.
4. The method of claim 1, further comprising inviting said subset
of users to share virtual interactive experiences in said first
environment.
5. The method of claim 1, further comprising limiting a number of
users sharing virtual interactive experiences in any of said first
and second environments to a predetermined number of users.
6. The method of claim 1, further comprising accepting a request
from a user and transitioning the virtual interactive experience of
said user from said first environment to said second
environment.
7. The method of claim 1, further comprising pre-determining a
selected environment to which a user is assigned.
8. The method of claim 1, further comprising deleting said second
virtual interactive environment upon satisfaction of a given set of
criteria.
9. The method of claim 8, said given set of criteria including no
users remaining virtually interacting in said second
environment.
10. The method of claim 1, said network comprising an Internet
connection permitting one of the following interactive exchanges
between said subset of users: video interaction, text message
interaction, still photo interaction, live chat interaction and
voice interaction.
11. The method of claim 1, said theme or event comprising a theme
or event taking place on said network and accessible to each of
said subset of users.
12. The method of claim 1, said subset of users comprising users
having one or more common connections therebetween as identified by
their respective user data.
13. The method of claim 1, said subset of users comprising users
having one or more common interests therebetween as identified by
their respective user data.
14. The method of claim 1, said subset of users comprising users
having one or more common attributes therebetween as identified by
their respective user data and corresponding to respective profiles
of said users in a social networking application database.
15. The method of claim 1, further comprising accepting inputs from
said subset of users and determining based on a majority scheme a
course of action to take with respect to an environment or a user
of said environment.
16. The method of claim 1, further comprising an administrator
controlled input to determine a course of action to take with
respect to an environment or a user of said environment.
17. The method of claim 1, further providing said virtual
interactive experiences to said users substantially in real time so
that a first user and a second user in a given environment
experience a shared experience substantially in real time and have
inter-dependent experiences by way of their interactive experiences
in said environment together.
18. The method of claim 1, said virtual interactive experiences
comprising a computerized gaming experience permitting said subset
of users to co-experience said computerized gaming experience
substantially at the same time.
19. The method of claim 1, further comprising providing each user
participating in a given virtual interactive experience with at
least two communication pathways, a first pathway for exchanging
control message data and a second pathway for exchanging media
services data.
20. The method of claim 1, further comprising accessing and
importing social network profile information from a user so as to
populate said user's user data in said first data store.
21. The method of claim 1, storing data in said first and second
data stores comprising storing data into portions of a larger data
store on a common data storage medium.
22. The method of claim 1, storing data in said first and second
data stores comprising storing data into two separate data stores
on separate data storage media.
23. A system for virtual conferencing of shared interactive virtual
environments, comprising: an endpoint device including a processor,
memory and internal and external communication paths; said endpoint
device equipped with an operating system run on said processor;
said operating system supportive of at least a network browsing
application; said endpoint device further comprising an extension
of said network browsing application and comprising an application
program interface (API) plugin program; a first internal
communication path placing said API plugin and said network
browsing application extension in communication with one another; a
second internal communication path coupling said network browsing
application extension and a unit of content such as a page of
content from said network browser application; and said external
communication path placing said API plugin and a server in data
communication with one another, and further placing said server and
said network browser application extension in data communication
with one another.
24. The system of claim 23, said network browsing application
comprising a Web browser.
25. The system of claim 24, said page of content comprising a Web
page.
26. A method for interactive virtual environment sharing,
comprising: establishing a first interactive virtual environment in
the context of a first theme; placing a first participant in said
first interactive virtual environment; placing a second participant
in said first interactive virtual environment; providing data
connectivity between said first and second participants in said
first interactive virtual environment; determining a criterion for
establishing a second interactive virtual environment in the
context of said first theme; meeting said criterion for
establishing said second interactive virtual environment;
automatically establishing said second interactive virtual
environment in the context of said first theme; placing said second
participant in said second interactive virtual environment; placing
a third participant in said second interactive virtual environment;
and providing data connectivity between said second and said third
participants in said second interactive virtual environment.
Description
RELATED APPLICATIONS
[0001] The present application is related to and claims priority to
U.S. Provisional Application No. 61/796,538, filed on Nov. 14,
2012, and to U.S. Provisional Application No. 61/854,815, filed on
May 2, 2013, both of which are hereby incorporated by
reference.
TECHNICAL FIELD
[0002] The present disclosure relates to the user experiences in
software applications that allow sharing of virtual spaces such as
online interactive environments allowing users to interactively
experience a medium as well as to communicate with one another in
that context.
BACKGROUND
[0003] Conferencing over a network connection (sometimes called
virtual conferencing) and screen sharing software are known in the
computing and communication fields. For example, Skype.RTM. is a
service providing near real-time voice and video connectivity
between two or more subscribers. A first subscriber who has a
registered identity and membership to the service makes contact
with another registered subscriber and requests a connection. The
service determines the availability of the second subscriber and a
call request is presented to the second subscriber similar to a
telephone call but in a computer application running on the
subscribers' computers. A conference of several subscribers can be
arranged as well.
[0004] Computer-based telephony can also connect a plurality of
registered users to one another in an online-supported conference
call. Other applications and services, e.g., Citrix.RTM., provide
shared screen experiences and remote screen sharing and control.
Yet others provide interactive whiteboarding experiences where two
or more users can see each others' actions entered onto a computer
based window.
[0005] FIG. 1 illustrates an example of a screen shot of an
application having a user interface window 10, WebEx.RTM.,
providing real-time video conferencing among a group of users 108.
This example is presented here generically to describe this type of
art, and not by way of explaining any specific aspect of a named
piece of prior art or product. A user 106 can be the host of the
conference (initiates it and coordinates its start and stop).
Another user 104 can be displayed in a highlighted or enlarged
window when he or she is speaking (has the microphone). Chat
sessions 102 can be displayed in other portions of the user
interface 10 of the application. In addition, the users can share
graphical content 100 that is shown in yet another portion of user
interface 10.
[0006] Since the moderator or host 106 creates the session as a
virtual meeting for collaboratively sharing content 100 and
discussion, the session is dedicated to the topic chosen by the
host 106. A known problem with such scenarios is that once the
number of participants exceeds some number, it becomes difficult or
impossible for each of them to receive meaningful attention or have
an active participation, akin to the problem known as the "cocktail
party effect" in some contexts, where too many people in a room
cause a nonlinear escalation of the din of conversation so that
nearly nobody can conduct a conversation any more.
[0007] Other challenges to existing systems that remain unfulfilled
or sub-optimal include that proper shared user experiences require
near real-time synchronization between the participants. Also, most
such existing systems are based on desktop computing platforms and
require substantial computing resources (bandwidth, memory,
computing cycles) and do not lend themselves well to compact
personal devices such as mobile smartphones, tablets and the like.
The present disclosure addresses these and other shortcomings of
the existing art.
SUMMARY
[0008] A system and method for providing interactive graphical and
multi-media connectivity between a plurality of users, especially
in the context of shared content. In aspects, the users are placed
into common virtual rooms or virtual interactive environments to
permit sharing of content and chat between the individuals in a
same virtual interactive environment. A common theme or subject of
interest can be a basis for creating one or more virtual
interactive environments or virtual rooms that users may be placed
into or move between. Other features and associated functions are
also described.
[0009] Some aspects of the invention are directed to a method for
processing information in a network, comprising registering a
plurality of users in a user registry by storing respective user
data of said users into a first data store; identifying a theme or
event of interest to at least a subset of said users; establishing
a first network-accessible virtual interactive environment, having
a first purpose relating to said theme or event, comprising storing
first environment data and first purpose data in a second data
store; permitting said one or more of said subset of users to join
said first environment over said network and share virtual
interactive experiences therein; dynamically creating a second
network-accessible virtual interactive environment associated with
said first environment and logically linked thereto in said
network, including storing second environment data and second
purpose data in said second data store; and permitting one or more
of said subset of users to join said second environment based on
one or more criteria including criteria relating to said user data
and criteria based on said theme or event.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] For a fuller understanding of the nature and advantages of
the present concepts, reference is made to the following detailed
description of preferred embodiments and in connection with the
accompanying drawings, in which:
[0011] FIG. 1 shows an example of an abstracted user interface of a
video conferencing application according to the prior art;
[0012] FIG. 2 illustrates some components of an exemplary
architecture for carrying out the present inventions;
[0013] FIG. 3 illustrates a plurality of interactive virtual
environments and subsets thereof;
[0014] FIG. 4 illustrates steps in an exemplary method according to
the present invention; and
[0015] FIG. 5 schematically illustrates a client endpoint
configuration.
DETAILED DESCRIPTION
[0016] Aspects of the present disclosure are directed to systems
and methods for providing virtual interactive experiences.
Moreover, in some regards these allow video chat, shared screens
and synchronized interactions among a plurality of users using
devices connected to a network. These experiences are integrated
into a single user experience that can be delivered in a number of
forms including companion and embedded app and extension software
running on the devices of the users. The architecture is generally
flexible and scalable to allow many users in many virtual
interactive environments (akin to virtual rooms) to be involved at
one time. Sometimes the users can see and experience each others'
inputs and experiences if they are in a same virtual interactive
environment (or virtual room), but in other cases, users can wander
off into separate virtual interactive environments by their own
actions or by an action of a controller or administrator of the
system.
[0017] Common thematic experiences such as gatherings relating to
an event of common interest to the users can enhance the relevance
and enjoyment of the experience. In other respects, social media
connections or contacts or other demographic or profile
similarities can drive the formation of a group of users sharing a
common virtual interactive experience in one or more virtual
interactive environments. The experiences can revolve around a
theme of an event, performance, occasion, televised program,
sporting venue, political or cultural topic, an interactive game,
or numerous other themes. Among other objects, the present method
and system permits large numbers of users to coexist in a global
virtual interactive environment while making helpful decisions to
divide the large number of users into manageable subsets or smaller
groups in distinct virtual interactive environments or virtual
rooms.
[0018] In other aspects, there can be a centralized controller
(machine, human, or combined) that manages the operation of the
system. Rules can be implemented to protect the users' identities
or other legal or moral rights implicated by operation of the
system. For example, young users can be monitored as to their
interactions with non-minors in the system, including by creating
virtual interactive environments specifically designated for
persons over (or under) certain age limits. Persons not abiding by
specified terms may be rejected from a virtual interactive
environment, for example for posting or presenting obscene language
or content in the environment. Others may be directed or invited to
virtual interactive environments based on the subject matter of
their discussions or other criteria.
[0019] In an aspect, some interactive virtual environments can be
made private, while others can be made public. The private rooms
are not accessible to the general public, or even in some
embodiments, to a registered subscriber of a service. The public
environments may be open to the general public or to any member of
a subscriber service, depending on the desired configuration. In an
embodiment, a "party of friends" can be established where a user is
invited to a virtual interactive environment because he or she has
at least one friend in the environment. In other embodiments, the
user may be invited to an environment because of a determination
that he or she has interests in common with the other participants
in the environment. The designation of environments as public or
private and the selection of the options and user permissions for
the same can be implemented as a filter that monitors attributes or
data or characteristics of the environments, their contexts, themes
and users to made this determination.
[0020] Architecturally, the present system can include several
components, which will be described according to preferred
exemplary embodiments, below. In some cases, a central controller
manages communication signals among a plurality of locations in a
connected system, for example among four or more entities in such a
system, including clients and servers. Each client may be afforded
two data pathways, one carrying control messages to the system's
back-end servers, and the other for media services such as audio or
video content.
[0021] FIG. 2 illustrates an exemplary architecture of the present
system 20 and on which the present method may be implemented. The
system 20 is typically experienced by a user of a user device such
as a personal computing device, tablet, smartphone or the like,
which can be considered an endpoint or a conference endpoint client
200 in an arrangement of several or many such endpoints 200 in an
experience sharing conference taking place. The endpoint device 200
can be a personal mobile computing communication device such as
those running the iOS.TM. operating system from Apple, Inc. or
running the Android.TM. operating system of Google, Inc. or the
Windows.TM. operating system from Microsoft, Inc., or others.
[0022] The endpoint device 200 typically includes a number of
input/output (I/O) and interface elements allowing easy use by a
user. These include in some examples an audio output 202, a user
interface 204 (which can include hardware and/or software
elements), a camera 206, a microphone 208, a text input area 210,
and others. In addition, the client device 200 endpoint typically
includes a processor 215 capable of controlling the operation of
the device by executing instructions of an operating system
thereon. Some or all the instructions and data needed to operate
the endpoint device 200 may be stored in a memory 212, which can
include RAM, ROM, Flash or other volatile and/or non-volatile
digital storage space.
[0023] As mentioned before, the endpoint client device 200 can hold
and run media viewing software, browsing software, network
connectivity software and other plug-ins and extensions of these to
collaboratively achieve the present goals and functions.
[0024] The endpoint device 200 can communicate with a conference
management server 220 and a media management unit 230. The
management server 220 and media unit 230 are shown as separate
entities in this example, but it is only given for the purpose of
illustration. Those skilled in the art will understand that each of
these components can be implemented on co-located or distributed
pieces of equipment without loss of generality. A general purpose
server machine or a specialized arrangement of hardware running
appropriate software, typically using an operating system to manage
the same, can be utilized.
[0025] In an aspect, a plug-in piece of software is installed on a
client computer or other processing device (including a smart
phone, tablet or similar device). The client plug-in allows a user
of the client to take part in the above service. The plug-in and
other software on the client computer are used to present media
content and to facilitate interactive communication between a
plurality of friends or users enjoying a shared virtual
experience.
[0026] Conference management server 220 can also include memory 217
holding instructions and other data for use by processor 225. The
conference management server 220 includes an analysis unit 224 for
analyzing users and other information and data and may include a
business logic unit 226 for special operations. A user database 222
includes storage space or addressable memory for user data related
to the plurality of users registered to use the service or system.
A conference database 228 holds data relating to one or more
conferences or interactive virtual conference sessions, including
conference identifying information 228a and conference membership
data 228b.
[0027] Media management unit 230 may share or have its own
processor 235 and/or media content database 238. It also includes a
unit for media negotiations 232, which can communicate for example
with the conference endpoint 200. The media management unit 230 can
also include a media transmission unit 234 for managing
transmission or media from media content database 238.
[0028] A gate keeper or other load balancing logic can ensure
scalability to support a relatively large number of users or
participants. For example, an interactive virtual environment can
be limited to a maximum number of participants at any given time.
Similarly, a subset of environments can be limited to a maximum
number of simultaneous participants. If the maximum number has been
reached, the system may not show the environment or subset as
available, may show an indication that it is full, or there may be
a waiting queue to join, similar to how a restaurant or physical
venue may be sold out or have a waiting list.
[0029] The various components described can be subdivided in other
ways than discussed in this example. Also, components shown in
these examples as separate may sometimes be implemented as combined
in other examples. The major parts of such a system can include
client and server components in communication over a network such
as the Internet or another local area or wide area network. Media
content can be provided by one or more sources distributed over the
network.
[0030] FIG. 3 illustrates an exemplary abstraction of interactive
virtual environments from the perspective of a participant in such
a shared experience or conference (taken generally in the present
context with the attendant enhancements described and known in view
of this disclosure). A system comprising a global environment 30
coordinated by a conference management server 310 or similar
management software and/or hardware as discussed herein is used to
operate the environments and coordinate the entry of users to the
environments.
[0031] An endpoint client device 300 connects to the management
server 310 over some communication link such as the Internet or
other cabled or wireless or cellular communication network or link.
In addition, other groups of endpoint clients are clustered into
meaningful subsets of users 322, 324, 326 and 328 within respective
interactive virtual environments. Users can navigate among or be
transported in the environments according to the wishes of the
users and their interests, or according to rules programmed into
the system as mentioned herein. In some aspects, the system offers
a global environment 330 that can support multiple hierarchies of
categorization and sub-division under the umbrella of the global
environment 330. Interactive virtual environments or virtual rooms
can be created, manually or automatically, containing themes and
discussions and participant users at a high level, intermediate
level, low level and so on. In an aspect, a user can view a summary
representation of similar subsets of environments to those he or
she is in or is interested in. The user can then select or
"favorite" a cluster or an environment in a cluster based on its
summary and use this to navigate between virtual environments
available.
[0032] As mentioned above, prior conferencing systems constrain
users to existing interactive environments, and most commonly to a
single virtual room created by a host and where all users are given
a single ID with which to join the room. Here, the system can
automatically spawn new and related interactive virtual
environments based on any desired criteria programmed therein. An
almost limitless number of such environments can be generated and
associated with their own IDs and users can be dynamically placed
into the environments and can control their navigation in the
environments, which in turn can lead to the automatic generation of
yet more environments to traverse.
[0033] In an aspect, a profile of users and environments can be
created, and such profile data can contain characteristics defining
the users and environments and these data can be stored as
described above in databases so that one or more analytic, learning
or clustering engines can be applied to that data.
[0034] The system can support virtual portals or inter-connections
among a plurality of individual interactive virtual environments
whereby participants may be given access to, invited to, create,
delete, or move among the environments during a given session. In
some aspects, the movement between one interactive virtual
environment and another takes place in a single uninterrupted
online session.
[0035] In an aspect, the system includes a browser extension that
is installed on a client device 200. The browser extension permits
the overlay of relevant information on top of the browser content.
For example, by overlaying graphical, text, data, video or other
information onto the browser content. In some embodiments, the
system synchronizes the contents of a client browser overlay to the
contents in the browser based on the address, URL or other
identifier of network-available content in the browser. This
concept can be extended in some embodiments not only to typical
Web-based content and browsers, but to media content generally
available from a source on a network, including cable television
(TV) or other connected data storage locations.
[0036] In some embodiments, overlay information in the form of text
boxes or "bubbles" can be placed onto a display screen of the
client devices engaged in a virtual interactive session. The text
bubbles can be manipulated using a client user interface so that
they can be moved to a desired location on the client's screen,
deleted, resized and so on. These can be in the form of dynamic
video stream bubbles as well, containing any suitable media
streaming content. In an embodiment, a picture of a user or
participant can be animated into a video stream when an event such
as touching a picture of that user or participant on a device
display occurs.
[0037] Other user interface features that can be incorporated into
embodiments of the present system and method include allowing the
user to control the appearance or behavior of the system by
touching, swiping or making other gestures to an input device
(e.g., a touch-sensitive device screen), or by shaking the device
to affect a built-in accelerometer.
[0038] In other aspects, users of mobile tablets, smartphones and
similar devices can jot hand-written annotations on the screens of
their devices during a live video chat session with friends and
others in a shared interactive virtual environment. This
information can be in the form of an overlay to the underlying
video chat content and other URL or network-derived context.
[0039] In yet another aspect, a host or master user can be defined
for a given interactive session involving a plurality of
participants. Herein, if and when the master user changes the base
address or URL for the session, the experiences of the other users
change accordingly. So the master user can travel between one
televised channel and another or between one Web site and another,
making the context of the user experiences of the group change
accordingly. Therefore, the group will "surf" around together,
moving from one activity or context to another with the group's
master user. In still another aspect, the control or identity of
who is the master user can be passed from one member of the group
to another member who then takes on the responsibility for
controlling the context of the session. One example of the URL or
context of a shared session could be a streaming movie or TV show
or YouTube.RTM. or similar multimedia connection.
[0040] It can be seen therefore that a plurality of users in a
session in a shared interactive virtual environment can co-browse
together while engaging in video chat together and while exchanging
other text or message signals among all or a subset of the users in
the environment. In some aspects, a connection interface is used to
manage the connectivity of users within the overall system
described. In other aspects, clustering methods, implemented as
executable or interpreted machine-readable instructions running in
a processor may be used to achieve the above results and to
configure the subsets of users sharing an interactive virtual
environment.
[0041] A user can elect to leave from a shared interactive virtual
environment if he or she wishes. For example, if the subject matter
of the interaction is objectionable or uninteresting to the user he
or she may head off to another available environment, or leave the
application altogether. Users who are directed between environments
or who navigate among them are tracked by previous and next
pointers indicative of their movements and history in the system.
These pointers can be used by the users or the system to direct the
navigation or movement of the users therein.
[0042] FIG. 4 illustrates an exemplary process or method 40
executed according to the present invention. The method may be
computer-implemented and exploit programmed instructions residing
in digital memory storage units on a computing machine that has one
or more processor circuits to run the instructions. A user at an
endpoint device joins a conference or navigates to an interactive
virtual environment at step 401. The interactive virtual
environment is a subset of global interactive virtual environments
instantiated on the system. This may be done by the user manually
using a user interface of the device. If the user is not a member
of an environment, the conference management component may do so
for him or her, as could another entity responsible for assignment
of users to environments. Typically, the user can enjoy and
participate in the current interactive environment using his or her
device's visual interface, e.g., a display screen, along with any
audio components needed at step 402. Various information and
identification of the current environment and linked environments
may be presented to the user at his or her endpoint device's
display.
[0043] Specifically, one or more linked interactive virtual
environments logically connected to the current environment may be
previewed at step 403. Then, at step 404 the user may select a
linked environment. The system checks if the user has a membership
in the selected environment at step 420. If he or she does, the
endpoint device is removed by the conference management component
from the current environment at step 407 and the endpoint device is
added to the newly selected environment at step 409. Otherwise, if
it is not a member already, the endpoint device is added to the
newly selected environment.
[0044] In one or more embodiments, the present system can support a
virtual party of friends. The system or a user may initiate the
party. Invitations in the form of announcements are sent to friends
of the user based on known contacts in the user's phone book or
social media connections list (friends list). The friends list
contains friend identification information, which can be in the
form of names, addresses on a network (e.g., email addresses,
social networking IDs, IP addresses or handles), phone numbers, and
so on. The "party" is announced to the group, for example
announcing the time of the start of the party, or the number of
hours and minutes till the start of the party. Each friend can
accept the invitation and manually or automatically be joined into
a virtual conference (party) with the other friends. Typically,
this will take place over a wireless communication connection with
the individuals' mobile devices, but this invention is not so
limited.
[0045] In other embodiments, once a party of friends is underway,
the group of participants can extend to more than just the friends
of a certain user. For example, second-level or second-tier friends
and contacts (that are once removed from the user) can be included.
In yet another aspect, adding contacts and friends can be
accomplished by tapping a "add" or "include" or "invite" or similar
button or icon on a user interface displaying a list of contacts.
Those skilled in the art will understand that this concept can be
extended to yet further levels of connectivity among persons
available to the system.
[0046] Once in the party of friends, sub-sets of the friends can
establish private or semi-private interactive virtual environments
in which they can more "quietly" discuss an issue of interest. The
system can establish related environments like cars on a train
where a passenger can move between the cars and experience the
activity therein, as described elsewhere in this disclosure.
[0047] A user witnessing improper or unlawful or disruptive conduct
by a participant in the party may report this person using a user
interface button or icon on his or her device screen. The offending
participant may be warned, moved, or cut off from the party based
on the complaint or other criteria.
[0048] The user interface display of the endpoint devices can show
information about the participants in the party of friends.
Information such as the person's name, age, status and who they
know and other interesting details can be shown over the person's
picture for example if the user hovers or clicks on the picture of
the participant they are interested in learning about.
[0049] FIG. 5 illustrates an exemplary endpoint client device
configuration 50, which can run for example on a client computer,
tablet or smartphone or other processing apparatus. The device runs
an operating system 500 that handles the major housekeeping and
coordination processes on the device. An application program
interface (API), for example the Netscape plugin API (NPAPI) 510 is
also running on the device and interacts with Web browser 520. The
NPAPI 510 can perform the following services: it can send and
receive multimedia streams between the device and the servers; send
and receive signaling messages; process video streams including to
buffer, crop, mask, filter, etc.; and it can play a role in
rendering the processed video frames.
[0050] A browser extension 525 of browser 520 is installed and can
affect the contents presented by the device including those of Web
page 530 as it is presented. The browser extension 525 allows the
system to affect or control the Web page contents as presented to
the user of the endpoint client device. It can also be used to
inject scripts and/or styles into a Web page to add functionality
not otherwise available in the basic Web page. In addition, the
browser extension 525 permits user interface and user experience
customizations and interactions, for example in controlling the
type, shape, size, location and other attributes of a text box or
bubble presented on an underlying screen display.
[0051] The browser extension 525 and the API plugin 510 exchange
data by method invocation and event dispatching. In some aspects
the API plugin may have full system privileges on the device while
the browser extension 525 has limited privileges. In a specific
example, the browser extension 525 is limited to only opening
http-based connections (e.g., http requests and Web sockets).
[0052] The Web extension 525 can be selected by a user by clicking
on it in his or her browser according to an aspect. The extension
525 will then send the media and signaling servers 550 the current
URL (or channel, program code, etc.) of the page the user is
browsing. The server 550 will return to the Web extension 525 a
conference identification number (ID). The Web extension can use
this ID to then start the API plugin 510 which in turn connects to
the media servers 550 and joins the resolved conference.
[0053] In an aspect, when the plugin 510 is connected, the local
stream of the user will pop up as a bubble on top of the Web page
the user is viewing (or the TV channel), and this also will take
place on the screens of each other participant in the
environment.
[0054] Media and signaling servers 550 are coupled to each of the
NPAPI plugin 510 and the browser extension 525 over respective
communication links. Each user of the endpoint client devices
connects to the media and signaling servers 550.
[0055] Of course the above examples are provided as examples of the
operation and construction of the system and method of the
invention. Many of the exemplary features of these embodiments can
be revised or alternates chosen to achieve a same or equivalent
end. Therefore, the invention is not limited by the above examples,
and those skilled in the art are expected to find custom
implementations and extensions of this disclosure suiting their
applications and ends along these lines, all of which are
comprehended by the following claims.
* * * * *