System and method for drop-in video communication

The system and methods disclosed include a Drop-In Video-as-a-Service (DIVaaS) system that provides two-way video-based communications on demand, such as instant, interactive video conferences. Drop-in video sessions can be added directly to business websites (e.g., Live Office Hours), shared and accessed via a URL or activated from the SoHive app or website. The Drop-In-Video-as-a-Service (DIVaaS) system is distinctly designed to provide “drop-in” video sessions that do not require having a prior awareness of all participants (e.g., names, phone numbers, email addresses, etc.) or prompting the participants (e.g., emailing each participant prior to the video conference) in order to access the video communication session in a manner that supports spontaneous inclusion and collaboration globally.

FIELD OF DISCLOSURE

The present invention relates generally to multimedia communications, for example a system supporting unprompted videoconferencing sessions.

BACKGROUND OF THE DISCLOSURE

Videoconferencing is a technology that enables real-time audio and video communication between individuals or groups of people who are located in different physical locations. It allows participants to communicate visually and audibly, facilitating virtual meetings, discussions, presentations, and collaborations in a manner that simulates in-person interaction, which typically requires people to be proximately located (e.g., in the same room).

Modern videoconferencing systems offer features like screen sharing, chat, recording, virtual backgrounds, and integration with other tools. The technology has become especially important for connecting people across distances, enhancing remote collaboration, and reducing the need for physical travel. Accordingly, videoconferencing platforms have become pervasive in real-world applications, being an essential communication tool to support modern interconnectivity. Nonetheless, videoconferencing systems that are currently available in the market often require pre-scheduling, personal invitations, or direct links, to enable communications, which requires some prior knowledge of each of the participants (e.g., e-mail address, phone number, etc.) and significantly limits accessibility to video sessions. Therefore, there exists a need in the field for a novel videoconferencing solution that allows access to a videoconference to be unprompted, unscheduled, and without requiring any prior knowledge of all of the participants.

Brief Overview

Additional aspects of the disclosure will be set forth in part in the description which follows, and in part will be obvious from the description, or can be learned by practice of the disclosure. The advantages of the disclosure will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are explanatory only and are not restrictive of the disclosure, as claimed.

DETAILED DESCRIPTION OF THE DISCLOSURE

The present disclosure includes many aspects and features. Moreover, while many aspects and features relate to, and are described in, the context of a drop-in video platform system, embodiments of the present disclosure are not limited to use only in this context. The present disclosure can be understood more readily by reference to the following detailed description of the disclosure and the examples included therein.

Before the present articles, systems, apparatuses, and/or methods are disclosed and described, it is to be understood that they are not limited to specific methods unless otherwise specified, or to particular materials unless otherwise specified, as such can, of course, vary. It is also to be understood that the terminology used herein is for the purpose of describing particular aspects only and is not intended to be limiting. Although any methods and materials similar or equivalent to those described herein can be used in the practice or testing of the present disclosure, example methods and materials are now described.

The terms “first,” “second,” “first part,” “second part,” and the like, where used herein, do not denote any order, quantity, or importance, and are used to distinguish one element from another, unless specifically stated otherwise.

As used herein, the terms “optional” or “optionally” means that the subsequently described event or circumstance can or cannot occur, and that the description includes instances where said event or circumstance occurs and instances where it does not. For example, the phrase “optionally affixed to the surface” means that it can or cannot be fixed to a surface.

With reference now to the drawings, and in particularFIG.1throughFIG.4thereof, examples of the drop-in video platform system and the principles and concepts thereof will be described.

In an embodiment, a drop-in video platform system is implemented to provide instant, two-way, video-based communications, such as video conferences, on demand. The Drop-In-Video-as-a-Service (DIVaaS) system is distinctly designed to provide “drop-in” video sessions in a manner that does not require having a prior awareness of all participants (e.g., names, phone numbers, email addresses, etc.) or prompting the participants (e.g., emailing each participant of the video conference) in order to access the video communication session. For example, SoHive enables a business to offer Live Office Hours, in which a business can specify certain hours of the week for drop-in, instant, interactive video sales or support.

In an embodiment, the DIVaaS system includes a social video software application (app) which offers two-way “drop-in” video sessions that are global and enable spontaneous connections with other users.

In an embodiment, the DIVaaS system is implemented as a Software-as-a-Service solution that utilizes a cloud-based structure having back-end computer systems, such as a server, that are accessible via the cloud and implement the various features of the system, including Open drop-in video sessions (e.g., any topic), Group drop-in video sessions (e.g., specific topics), Exclusive drop-in video sessions (e.g., specific attendees), and live drop-in video sessions (e.g., live streaming). Accordingly, the disclosed DIVaaS system provides a type of flexibility that allows the system and its features to be used in a wide range of environments and use cases.

FIG.1depicts an example of a communication environment in which embodiments of the Drop-In-Video-as-a-Service (DIVaaS) system100, as disclosed herein, may be implemented. In the DIVaaS system100, there are four personas that use SoHive:1) Exclusive Hive Owner: The person who purchases the subscription for a SoHive Exclusive Hive.2) Exclusive Hive Attendee: Any user or participant that drops into a live Exclusive Hive.3) Exclusive Hive Member: Any user that has subscribed to membership of a specific Exclusive Hive schedule.4) SoHive User: A general term that refers to any user of SoHive, including any of the personas above.

In the example ofFIG.1, the DIVaaS system100is configured to support various communication capabilities for users, particularly enabling drop-in video sessions between multiple users of the system100. As referred to herein, “drop-in” video is a communication service that allows users to easily join or start video conferences (also referred to as video sessions) without needing to schedule them in advance. For example, the DIVaaS system100enables spontaneous, ad-hoc, video communication where participants can “drop-in” to a virtual meeting room or chat without the need for prompts, formal invitations, or prearranged plans. Thus, the DIVaaS system100implements several drop-in video features and capabilities that can support a plethora of collaboration tools, virtual events, and social platforms in a manner that facilitates impromptu video-based “face-to-face” interactions.

As disclosed herein, the DIVaaS system100is implemented as a Software-as-a-Service solution. Thus, the DIVaaS system100utilizes a cloud-based computing model where software applications are hosted, managed via resources on the cloud, and delivered to users of the system100over the Internet. In the SaaS model, the DIVaaS system100includes software components, including a drop-in video software110, that are hosted on remote servers, shown as back-end server130. The back-end server130may be maintained by a separate service provider and facilitates building and running various applications and services, namely the drop-in video capabilities described herein. In particular, the DIVaaS system100is depicted inFIG.1as comprising: computer devices120a-120c, which are employed by a user and access the drop-in video software110hosted by remote server130on the cloud140, for instance on a subscription basis. In the DIVaaS system100as shown inFIG.1, the drop-in video software110implements user-facing capabilities of the system100including but not limited to: utilizing interactive graphical user interfaces (GUIs)111-113to access and participate in a drop-in video session on the user computer devices120A-120C; utilizing back-end server130depicted as a remote server on the cloud (in accordance with the SaaS model) that hosts the software which implements several features and functions that support the drop-in video communication capabilities between users; utilizing data storage131depicted as residing on the cloud, and can be utilized by the back-end server130to store and/or maintain necessary data to support system100functionality.

As a SaaS solution, the DIVaaS100allows its software, namely drop-in video software110, to be accessed and interacted with by a plurality of distributed users via cloud140. In other words, the DIVaaS system100has a cloud-based software delivery model that is cost-effective, accessible, and reduces the need for IT management. It also supports rapid scaling in the event of rapid new user onboarding. In particular,FIG.1shows that the drop-in video software110can be accessed from the cloud by any of the computer devices120A-120C having a connection to cloud140making it well suited for remote work and collaboration. For example, computer device120C, which is shown as a tablet, can be owned/operated by an end user, such as a user that desires to participate in a drop-in video session facilitated by the DIVaaS system100. The user of the tablet120can access the drop-in video software110as cloud-based software through a web browser, for instance, over cloud140.FIG.1illustrates the cloud as an exemplary Amazon Web Services (AWS) cloud. As an AWS cloud, the cloud140is a cloud computing platform provided by Amazon, which offers a wide range of cloud services, including computing power, storage, databases, machine learning, natural language processing, analytics, content delivery and more. These services allow businesses and developers to build, deploy, and scale applications and services easily without requiring the physical infrastructure. Cloud based services may be provided by any commercial service providing the use of on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user. In one or more instance this may include large clouds often have functions distributed over multiple locations, each of which is a data center.

In some cases, the drop-in video software110is implemented as a software application (app) for use with mobile devices having smaller form factors, such as smartphone120B, for more suitable user interfaces and an improved user experience.

As an example, a user operating tablet120C can connect to the cloud140where the back-end server130resides, via a communication network, such as the Internet, in order to access the drop-in video software110that is hosted on the cloud. Thereafter, the user can launch the drop-in video software110which generates and displays visually interactive components that the user can employ to access and utilize the system's100features. For example, the user may desire to spontaneously join a drop-in video session, and therefore launches the drop-in video software110which renders and displays a GUI, shown as window111, on the screen of the tablet120. The window111can be presented on the end user's device as a mechanism to access and interact with the system's100features. Further, as seen inFIG.1, the drop-in video software110can generate several clickable icons112A-112C within window111, where each icon112A-112C corresponds to a respective drop-in video session. As described in further detail herein, the DIVaaS system100supports various types of drop-in sessions, including: open drop-in video sessions, which are sessions without a specified topic; group drop-in video sessions, which are sessions focused on specific interests people share; and exclusive drop-in video sessions, which are owned by businesses, and enable interactive video discussions pertinent to each specific business.FIG.1illustrates these features, showing tablet120C displaying: an icon112A corresponding to a group drop-in video session, where the specific topic is football; an icon112B corresponding to a group drop-in video session, where the specific topic is baseball; an icon112C corresponding to an open drop-in video session (i.e., topic not defined, any topic allowed); and an icon112D corresponding to an exclusive drop-in video session (i.e., Hive Owner/business specific). The user can click on any of the aforementioned icons112A-112D and spontaneously enter (or “drop-in”) the corresponding video session that is already in progress, and subsequently (in “one-touch”) participate in the two-way video and audio communication with other users within the same session that is facilitated through the cloud. In other words, each icon is assigned to a virtual address that is linked to a continuously available (e.g., 24 hours a day) video session. Thus, the video session can be easily accessed in one-touch by a user (e.g., via “click” of the icon) in a manner that provides a drop-in collaboration experience with other users globally.

As an example, the user of tablet120C may desire to connect with other users that share an interest in the topic of football in a video chat room environment. Accordingly, the user can click on icon112A that is displayed on their tablet's120C screen and enter an active drop-in video session where users are streaming two-way live video and audio of themselves and other media (e.g., images, videos) to have an on-line meet-up discussion on the topic of football. A drop-in video session supported by the DIVaaS system100is available continuously, meaning the video session is still accessible after a participant leaves, and thus a drop-in video session can be spontaneously accessed by a user at any time simply by selecting the associated icon, for instance icons112A-112D.

According to the embodiments, selecting112D provides a unique link for an Exclusive Hive drop-in video session, for instance a unique Uniform Resource Locator (URL) for a drop-in video session assigned to an icon, establishes a connection to the cloud, to host the video session and facilitates the video and audio collaboration in the session.

FIG.1illustrates an example video session113that is configured for a user to participate in a drop-in video session supported by the DIVaaS system100. A drop-in video session that is hosted on the cloud can be reached through a mobile app or a web browser and software application, namely the drop-in video software110, which generates the virtual environment for the video session113. Accordingly, the user can participate in a drop-in video session, which includes two-way video/audio and interaction that can be utilized by a participant during the video session. The video session113can be configured as a continuous video chat room, video conference, virtual room, virtual meeting space, or other computer-based virtual environment that supports video collaboration and gives attending participants a variety of tools to facilitate collaboration, including instant messaging, application sharing, recording, screen sharing and document sharing capabilities.

For example, the video session113can be displayed on the end-user device in a GUI that includes windows configured for: displaying the real-time video feed of the user and the other participants; outputting the audio of their speech; and displaying other media that may be included in the session, like text for a chat. Referring back to the operational example, in response to the user selecting icon112A to enter a group drop-in video session (directed to the topic of football), the video session113is launched. The software110can generate a distinct GUI for the video session113, which displays the streaming video of the individual participants in the “football” drop-in video session to be viewed on the tablet120C by the user. Thus, the DIVaaS system100enables a user to spontaneously “drop-in” a video session without having to be previously scheduled or prompted (e.g., invitation link) which better simulates, in the virtual space, how people tend to collaborate freely and spontaneously in the real-world.

FIG.1illustrates that the DIVaaS system100can be implemented across different hardware platforms, shown as various computer devices120A-120C that can be associated with users that may desire to be participants (or attendees) in a drop-in video session. Particularly in the example ofFIG.1, computer device120A is shown as a laptop computer, computer device120B is shown as a smartphone, and computer device120C is shown as a tablet computer. It should be understood that the computer devices120A-120C are not Intended to be limiting, and components of the DIVaaS system100can be implemented on other types of computer devices that are not illustratedFIG.1, as deemed appropriate.

In an embodiment, the drop-in video software110is implemented as a Software as a Service (or SaaS) solution, and thus the software110(and any other applications supported by the DIVaaS system100) can be delivered over the Internet, from the cloud140as a service. Thus, the drop-in video software110can be considered “cloud-based” software that is hosted, managed, and delivered over a wide-area network, such as the Internet, from one or more remote servers, or cloud140. For example, the computer devices120A-120C, can access drop-in video sessions by connecting to the hosting back-end server130via a web browser or a software application, namely the drop-in video software110(and any other applications supported by the DIVP system100) from the cloud140. As a SaaS application, the drop-in video software app100can run on a computing device of the providing system100that resides on the cloud, such as back-end server130. Further, in one or more embodiments, as a SaaS solution, the drop-in video software110may run a subscription-based model, where the cloud-based software may be provided on a subscription basis and users may pay a recurring fee to access the service. Due to having a SaaS architecture, the DIVaaS system100can have other characteristics that are often associated with cloud-based software models, including but not limited to: accessibility from anywhere with an Internet connection; no local installation requirement; scalability; automatic updates; shared infrastructure; and data backup and security. Alternatively, the drop-in video software110may be implemented as a Web-based software, on-demand software, hosted software, or software that is installed on the computer device120B itself.

According to the embodiments, the drop-in video software110(depicted on computer device120C) can render one or more graphical user interfaces (GUIs) implemented by the DIVaaS system100. The GUIs allow the participants (users of the respective client devices120A-120C) to access and interact with various features related to drop-in video session supported by the DIVaaS system100. As further described herein, GUIs implemented by the DIVaaS system software110may be used to access and interact with drop-in video sessions, for example supporting two-way video collaboration where a first real-time video of a user on their tablet120C can be distributed to other participating devices, such as computer devices120A,120B (participating in the same drop-in video session), while another real-time video of a user on their computer device120A or120B can be distributed to other participating devices, such as tablet120C (participating in the same drop-in video session) to be viewed by the respective users. There may be one or more of an other real-time video sessions of a plurality of users participating in the same drop-in video session or one or more drop-in video sessions. In one or more embodiments, GUIs implemented by the DIVaaS system software110may be used to access and interact with drop-in video sessions, for example supporting two-way video collaboration where a real-time video stream of a user recording on their tablet120C can be streamed/distributed to other participating devices, such as computer devices120A,120B (participating in the same drop-in video session), to be viewed by the respective users.

FIG.1also shows that the DIVaaS system100can include a server130. Server130is shown as an example of one or more servers that may reside on the cloud to host software in a cloud-based software model and to provide the disclosed drop-in video features as a SaaS solution. The server130can be a back-end computer system(s) residing on the cloud that hosts the drop-in video functionality and features as implemented by the system100. For example, the server130is configured to perform functions that can include but are not limited to: implementing open drop-in video session capabilities; implementing group drop-in video session capabilities; implementing exclusive drop-in video session capabilities; managing exclusive drop-in video session membership; Customer relationship (CRM) integration; and exclusive drop-in video enterprise routing. Also, data relating to drop-in video functions that are accessible to the server130can be stored in a datastore, shown as database131. The database131may store and/or maintain pertinent data for later use with respect to other functions of the system100, such as the data required for creating, managing, and controlling multiple drop-in video sessions.

The cloud-based architecture, for instance including server130, allows a drop-in video session to be accessed and/or activated using several methods, including but not limited to: an Exclusive Hive may be embedded on a website and anyone globally can drop into the session 2) a Hive can be accessed through a personalized URL, which can be posted anywhere, such as on a social media site, and anyone globally can drop into the session and 3) a Hive is also available via the Hive owner's personal profile in SoHive, and anyone globally can drop into the session, and 4) when active, the Exclusive Hive is displayed as live on the SoHive Live Hive Stream, and anyone globally can drop into the session. The aforementioned functions (and any additional functionality) implemented via the cloud, for instance by server130, are described in greater detail herein. An example configuration for the server130and its functions as a cloud-based resource are described in detail in reference toFIG.2. Thus, for purposes of brevity, the specific functions of a cloud server are not described in detail forFIG.1. AlthoughFIG.1depicts a single server130on the cloud, this configuration is not intended to be limiting, and the DIVaaS system100can be implemented by several server computers and/or a cluster of server cloud-based computers.

A remote server on the cloud of the DIVaaS system100, such as server130, may be configured to implement key functions related to video conferencing and/or virtual meeting room technology, and thus hosts the drop-in video sessions for the system's100users. As an example, the server130runs various Application Programming Interfaces (APIs) that support video conferencing functions, such as a Node.js, Express.js, REST API, and the like, for building web and mobile applications and supporting networked services which ultimately creates the framework for executing drop-in video sessions. In other words, the cloud resources (e.g., sever130) provides tools, functions, and processes needed to integrate and manage drop-in video session functionality within applications and features of the DIVaaS system100.

In an embodiment, the system's100cloud resources (e.g., server130) can host exclusive drop-in video sessions, where a person that is the owner/organizer (or host) of the drop-in video session can control and/or customize the access and use of a drop-in video session. In an embodiment, the owner/organizer of an exclusive drop-in video session can define two types of access to an Exclusive Hive—Scheduled or Drop-in Anytime. When an Exclusive Hive is set to Drop-in Anytime, the Hive is available, for anyone to join, 24 hours a day, 7 days a week, for 365 days a year, in short at all times.

In an embodiment, when an Exclusive Hive is scheduled, a Hive owner can customize a schedule that details when the session is live. For example, a user can specify up to five different one-time and/or recurring schedules for an exclusive drop-in video session. As a result, the server130(as part of the cloud) enables users to join an exclusive drop-in video session at allowable times in accordance with the set schedule. For instance, the owner/organizer of an exclusive drop-in video session can set a schedule for an exclusive drop-in video session to go live every Monday and Wednesday from 1:00 PM-4:00 PM (ET). Accordingly, the server130manages access to the exclusive drop-in video session based on the owner/organizer's defined controls and permits users to join the exclusive drop-in video session at those times, and alternatively can deny users from joining the session at times outside of the schedule. The system accounts for differences in users' time zones and presents the schedule in the time zone of each individual user, regardless of where they are located in the world. In the previous example, the server130will permit a user attempting to join the exclusive drop-in video session at 3 PM (ET) on a Wednesday (without having any knowledge of the identity of the user) to enter the session, since it is live (e.g., engaging participants) during this time. According to an embodiment, the cloud resources, such as server130, generate a virtual address for an exclusive drop-in video session that does not change (e.g., the same virtual address can be used at different scheduled times), where it can continue as a recurring meeting until the scheduled session is deleted or inactivated.

In another embodiment, the owner/organizer of the exclusive drop-in video session can segment the allowed access to the session for a specified list of users (i.e., Membership). The owner of the Exclusive Hive can allocate one schedule of live hours to one membership list and a different schedule of live hours to a different membership list, thereby allowing the Hive owner to segment their customers per their business requirements. In one or more instances, the system's100exclusive drop-in video features can enable a user to charge for access to an exclusive drop-in session (e.g., subscriptions), office hours for academics, and the like. In one or more embodiments, system100may designate tier access to one or more exclusive drop-in sessions (e.g. tiered subscriptions) based on the payment level of membership access. In one or more embodiments the tiered subscriptions may include but not be limited to at least one of the following: platinum, gold, silver, premium, standard, basic, and the likeness thereof.

In the case of Membership, an exclusive drop-in video session with defined participants, the cloud resources (e.g., server130) control access to the session based on the defined parameters from the owner/organizer. For example, users can register and create an account in the DIVaaS system100, and an organizer can select which of registered users are allowed to join the particular drop-in video session. As a result, server130functioning on the cloud could have a list of registered users, but only select users may be authorized users (e.g., saved in the database131) for a given exclusive drop-in video session. In operation, server130(or other cloud resource) has the capability to determine user authentication and access for an exclusive drop-in video session. For example, a user can attempt to access an exclusive drop-in session, by clicking a link on the organizer's webpage, thereafter the server130can determine whether the user is authorized (e.g., on the list of authorized users) before they are permitted to join the exclusive drop-in video session. Additionally, the system's100exclusive drop-in video features can be useful for certain use cases, such as enabling a user to charge for access to an exclusive drop-in session (e.g., subscriptions), office hours for academics, and the like.

Referring back to the previous example, resources on the cloud (e.g., server130) can host the “football” group drop-in video session that the user of the tablet120C is joining. That is, the cloud resources (e.g., server130) created the virtual meeting room (or spaces) environment for the drop-in session, generated the unique URLs or identifiers for the drop-in video session, and manages joining and the participants of the drop-in video session. After the user of the tablet120C selects the icon112A (via the drop-in video software110) to join the “football” group drop-in video session, a Hypertext Transfer Protocol Secure (HTTPS) link is created and establishes a connection to the cloud, for instance server130. The server130can then manage the connection to let participants join the “football” group drop-in video session (e.g., corresponding to the URL). In some embodiments, cloud resources (e.g., server130) create drop-in video sessions as continuous video chat rooms (after the session is activated), and thus provide a spontaneous drop-in collaboration experience where users can join a drop-in video session at any time (e.g., 24 hours a day).

In some embodiments, the cloud resources (e.g., server130) currently allow up to 300 participants to join Open and Group Hives, and this maximum count may be expanded as utilization demands increase. An Exclusive Hive owner determines the number of Hive participants permitted, ranging from as few as one additional attendee, in addition to the host, up to 299 additional attendees. This count may be increased in the future as utilization demands increase.

In some embodiments, the DIVaaS system100realizes a solution in the realm of video-based communication technology by providing one-touch, spontaneous, two-way “drop-in” video sessions that can be accessed by users around the world, and without the limitations associated with having to be scheduled or prompted (e.g., invitation link) to enter a video session. The disclosed DIVaaS system100provides distinct drop-in video session capabilities which foster spontaneous inclusion and collaboration globally.

FIG.2depicts an example configuration for the computing system200implementing various aspects of the drop-in video session functionality of the DIVaaS system. For example, the computing system200can be implemented as a cloud-based resource implementing SaaS solutions, such as a back-end server residing on the cloud of the DIVaaS system (shownFIG.1).FIG.2illustrates computing system200being configured to include an application platform201providing a software environment that supports a set of tools, services, and frameworks for developing, deploying, and managing applications on the server infrastructure. In the example ofFIG.2, the application platform201supports several different modules, software-based tools and services, including but not limited to: Authentication Module202; Meeting Module203; Utility Module204; Notification Module205; User Module206; API Module207; Model Manager Module208; Video Conference SDK Module209; Database Module210; Membership Module212, Private Hive Module214, Enterprise Routing Module216, Scheduling Module218, Social Module220, Bad Actor Module222, Contact Us Module224, Hive Stream Module226, and Shopping Cart Module228.

The Authentication Module202implements authentication mechanisms to ensure that only authorized users can create a SoHive account and join drop-in video sessions (e.g., exclusive drop-in video session). For example, Authentication Module202provides various authentication related capabilities, which can include generating tokens or using other mechanisms to authenticate users. In one or more embodiments, a user may create a SoHive account and never join a Hive. In one or more embodiments, this user may be designated a non-active user. In one or more instances, a user may create a SoHive Account and an Exclusive Hive but never join anyone else's Hive. This user may be designated an Exclusive Hive owner.

Meeting Module203implements functions and endpoints to create virtual meeting rooms, spaces, or virtual environments for the drop-in video sessions. Meeting Module203can also provide the methods for participants to initiate new or join existing drop-in video sessions, and directly connect users to the sessions. Meeting Module203provides various meeting-related capabilities, which can include generating the unique URLs, access codes, or identifiers for the drop-in video sessions. The virtual meetings support standard video session capabilities, such as chat, start/stop video, start/top audio, identify participants, share screen/content, invite one or more other people, change background, and raise/lower hand.

Utility Module204implements the utility functions to facilitate operation of the drop-in video sessions. The Utility Module204provides utility related capabilities, which can include implementing video integration, and enabling chat and messaging features among participants during the drop-in video sessions.

The Notification Module205implements real-time notifications or webhooks to inform users about relevant events regarding the drop-in video sessions, such as joining Exclusive Hives, and for social updates. For example, the owner of an Exclusive Hive is notified whenever a participant activates and joins a Hive owner's Exclusive Hive. Users are also notified when any participant joins the Hive one is already participating in. Users will also receive notifications whenever another user Follows or Unfollows them. Similarly, a user will trigger a notification to another user whenever they Follow them or Unfollow them. Users will also receive notifications for Membership, Private Hive, Enterprise Routing and Bad Actor Reporting features. In one or more embodiments, the notifications for Membership, Private Hive, Enterprise Routing and Bad Actor Reporting features may be delivered from the Membership Module212, Private Hive Module214, Enterprise Routing Module216, and Bad Actor Module222. In one or more embodiments one or more additional modules may be utilized to send one or more additional notifications.

User Module206implements maintaining and managing users of the DIVaaS system (e.g., registration), including adding, editing, archiving and deleting user accounts. It also tracks the history of Hive usage per user, displaying the most recent five Hives visited, regardless of if they were Open, Group or Exclusive Hives. The User Module also tracks a user's required demographic information, including name and email, as well as the optional demographic information such as email, short bio, phone number, city, country, with additional fields, such as language(s), to be added in the future. The User Module also supports a user specifying up to three website URLs, and two or more popular social website links.

The APIs Module207can be the various APIs that provide the tools, functions, and processes that integrate drop-in video session functionality within the applications and features of the DIVaaS system. For example, the APIs Module207can include APIs that are provided by Node.js, Express.js, such as the Representational State Transfer (REST) API and supports functionality necessary for implementing drop-in video sessions. APIs are and will be used for integration to other external systems, including third party scheduling software, shopping cart software, marketing management software, etc.

The video conference Software Development Kit (SDK) Module209implements the tools, libraries, and documentation that provide the video conferencing and real-time video and audio communication capabilities to be integrated into the applications and features of the DIVaaS system. The video conference SDK Module209provides extensive video conferencing-related capabilities, which can include implementing, for all meeting attendees, two-way video and audio, and screen sharing functionalities necessary for drop-in video sessions, as well as chat, and integrating whichever third party tools or games are deemed helpful to Hive users and Exclusive Hive owners

The Databases Module210implements the tools, operations, and functionality for interacting with a database and other storage systems. The Databases Module210provides various database related capabilities, which can include storing, retrieving, updating and deleting data in databases. In an embodiment, the Databases Module210is currently configured to utilize MongoDB.

In an embodiment, the Server Module200is configured to operate as a part of a cloud computing model, for instance implementing SaaS capabilities. For example, the Server Module200operates with Amazon Web Services (AWS) and thus the DIVaaS system (shown inFIG.1) can utilize a wide range of cloud services, including computing power, storage, memory, databases, networking, analytics, machine learning, natural language processing, and extensive other technologies, in order to implement the drop-in video session capabilities described herein as a SaaS solution.

Bad Actor Module222

In one or more embodiments, SoHive may conform to the Apple and Google Bad Actor requirements. In one or more instances, attendees in a Hive may ‘vote’ someone out of the Hive via the Bad Actor feature, which is a check box that appear in every attendee's tile. If an attendee is selected as a Bad Actor by 5 or more attendees, that attendee is automatically logged out of that Hive and the app SoHive and blocked from using SoHive for 24 hours. If this occurs a second and third time, that user is permanently blocked from using SoHive or any of SoHive's Hives.

In one or more embodiments, SoHive may enable social business by offering the social elements of Follow and Following. SoHive provides each user with the ability to see a list of Followed users and those users Following them, with essay access to their profile pages and, if applicable, their Exclusive Hives. SoHive users can follow Exclusive Hive owners to keep track of their activity and Hive schedules.

In one or more embodiments, SoHive may provide via the main landing page, for any user in the world, the SoHive Exclusive Hive Live stream. This list any Exclusive Hive live anywhere in the world, and enables any SoHive user to join that Hive the Hive has additional capacity for more attendees.

In one or more embodiments, SoHive may provide a Hive History stream, which shows each of the Hives that was live, but is no longer live.

In one or more embodiments, selecting a Hive description of an Exclusive Hive, in either the Hive Live or Hive History tabs, will take the user to the Exclusive Hive owner's profile page, so the user can see the schedule for that Hive's upcoming drop-in hours.

In one or more embodiments, SoHive may provide each Exclusive Hive owner has complete control over their schedule in their Hive. They have two main scheduling options:Drop-in AnytimeThis option enables users to drop into an Exclusive Hive 24 hours a day, 7 days a week, 365 days a year (24×7×365). This option offers a virtual room that is 100% available at all times.ScheduledThis option offers complete flexibility in scheduling Live Office hours, including specifying time zone, day, from and to hours, and all recurring options such as daily, weekly, monthly, as well as specifying particular days and cadences. Up to five different scheduled series and/or individual appointments may be defined for one Exclusive Hive and one time. The next five appointments across all series will appear in the Exclusive Hive's tile when it is displayed in the Hive Live stream and the owner's profile page.
Private Hive Module214

In one or more embodiments, SoHive may enable an Exclusive Hive owner to set their Hive to Private. When a Hive is set to Private, the Hive will not appear in the Hive Live nor Hive History live streams. The Hive will also be hidden to users when they visit the profile screen of the Exclusive Hive owner. The only way for a user to join a Private Hive is if it is embedded on the owner's website or if the user exclusively uses the URL feature, in which they invite specific people directly to their Hive via the URL.

In one or more embodiments, SoHive may provide one or more Exclusive Hive owners need to lock down Hive attendees to specific membership groups. SoHive enables an Exclusive Hive owner to define the participants who may join a particular Hive schedule. A Hive permits up to 5 scheduled series, so up to 5 different memberships may be defined by the Exclusive Hive owner. For example, a business that teaches public speaking may have one series of meetings to teach business foreigners public speaking skills to do business in the USA, a second series to teach entrepreneurs how to present a compelling pitch, and a third series to help priests give engaging sermons.

CRM Integration

In one or more embodiments, SoHive may tracks users in a SoHive Exclusive Hive via their username and email address. Using CRM integration, SoHive is able to send new user information to the Exclusive Hive owner's CRM, thereby acting as a new intake funnel for new business opportunities.

Additionally, Exclusive Hives will enable Hive owners to access the business' CRM to enable rapid population of membership rosters, thereby saving time and increasing membership roster accuracy.

Enterprise Routing Module216

In one or more embodiments, SoHive may provide an Enterprising Routing Module. For example, imagine going to a car dealer's website, selecting the car dealer's Exclusive Hive and dropping into a two-way video, directly speaking to the salesperson on the car dealer sales floor. If the Live Office Hours are over, instead SoHive's Enterprise Routing will route the shopper to the next available car dealer that has SoHive Live Office hours and can demonstrate the same car and its features. This will provide a brand new way of purchasing, leveraging all the value of the vendors' websites, for national or global organizations who have brick-and-mortar stores.

Administrator Module

In one or more embodiments, SoHive may provide an Administrator Module brings transparency to the SoHive staff of all SoHive users, which users have Exclusive Hives their associated features. Through the Administrator Module, SoHive staff will be able to monitor chum, growth, add-on services, and global reach.

Contact Us Module224

In one or more embodiments, SoHive may provide an Exclusive Hive may be available in the Contact Us page of the website and app, for users to drop in and speak to SoHive staff for immediate engagement. Additional feedback options are available through phone number and email. In one or more embodiments, other modes of communication may be available for

Shopping Cart Module228

In one or more embodiments, the Shopping Cart Module may be adapted for one or more users to buy Hive, subscribe to DIVaaS, purchase membership(s), and other retail purchases.

SoHive will offer two levels of Shopping Carts in the Shopping Cart Module.

1) Buy an Exclusive Hive

This module will enable a SoHive user to purchase their own Exclusive Hive directly from SoHive, including defining their own Hive attributes, such as schedule and number of permitted users,

2) Exclusive Hive eCommerce

The Exclusive Hive eCommerce Module will enable SoHive Exclusive Hive owners to embed shopping features within the Exclusive Hive, thereby making it possible for the Exclusive Hive owner to earn money from every purchase initiated from their Exclusive Hive.

The Shopping Cart Module is the primary mechanism by which SoHive will become revenue-producing. SoHive revenue will consist of Hive subscriptions, as well as up-charges for Membership, Private Hives, and Enterprise Routing. It will also include up-charges for tiered video-usage fees. Finally, SoHive will take a small portion of every eCommerce sale.

SoHive Application User Workflow.FIG.3illustrates an example workflow of a method300for interacting with the DIVaaS system (shown inFIG.1), which ultimately allows a user to spontaneously enter a drop-in video session from within the SoHive application. In particular, the method300involves interacting with the system via the drop-in video software, which can be accessed on the cloud as a SaaS solution on the computer device of a user, such as a smartphone, PC, or tablet computer. Login: the method300begins with a user selecting the drop-in video software, which involves performing a user login into the system at operation305. For example, a user can access the drop-in video software hosted on the cloud (e.g., using a web browser) from their computer device, such as a smartphone. In response, the drop-in video software can generate GUIs which enable the user to then log-in to the DIVaaS system. Register: If the user is unregistered, they must create a User Account. If the user is already registered, the user must get authorized to log in. and subsequently has access to the various features that are supported by the system.

Select Hive: Thereafter, the user can select a type of drop-in video session that is desired. The method300includes several options, where the user can select an exclusive drop-in video session at operation310, select a group drop-in video session at operation311, select an open drop-in video session at operation312, or select an Exclusive Hive directly from a User Profile page at operation313. For instance, the user can participate in the selected live drop-in video session, interacting with users in a two-way video chat session on their computer device, such as a PC, tablet, or smartphone. Users can join one of these Hives, leave that Hive, and then join a different Hive, whenever they choose. A user can move between Exclusive Hives, Group Hives and Open Hives seamlessly. A user can only be in one active Hive at a time.

Exclusive Hives310: The user may drop into an exclusive drop-in video session directly from the Live Hive Stream (i.e., operation320) or the Member Hive stream if they are a Member of that Hive (i.e., operation321). If the user chooses an Exclusive Hive from the Hive History list (i.e., operation322), then, since the Exclusive Hive is not active, the user will be taken to the User Profile page of that Exclusive Hive's owner instead.

Group Hives311: In response to the user selecting the Group Hives tab, a menu of nine different Groups appears. Once the user selects one Group, such as in operation323, the user is presented with a number of Hives within that Group with related sub-topics. For example, the Group ‘Sports’ has several Hives such as Football, Soccer, and Baseball, which are all sub-topics that relate to the Group ‘Sports’. If the user selects the sub-topic of “Football” from the available sub-topics in the Group ‘Sports’, than the user will “drop-in” to the “Football” video chat, and interactively participate in the Group drop-in video session to discuss football with the other participants. In an embodiment, the DIVaaS system currently supports up to nine different Groups, where each Group (i.e., topic) has two or more Hives that correspond to a respective sub-topic related to that Group. Examples of Group topics, and their related sub-topic Hives include, but are not limited to: Sports (e.g., Football, Soccer, Basketball, Fishing, etc.); Entrepreneurship (e.g., Start-ups, Taxes, Marketing, etc.); Travel (Virtual Tours, Photography, etc.); Animals (e.g., Pets, Safari, Birding, etc.); Music (e.g., Karaoke, Jam Sessions, Favorite Artists, etc.); Food/Drinks (e.g., Cooking, Baking, Cocktails, etc.); Education (e.g., Study Buddy, Tutor, etc.); Home Improvement (DIY, Plumbing, Electric, etc.); and Movies (Watch Party, Reviews, etc.).

Open Hives312: In response to the user selecting the Open Hives tab, a menu of ten different Open Hives appears. In operation324, in response to the user selecting one of the ten open drop-in video session, the user drops instantly into that specific Open Hive. The DIVaaS system can support multiple individual open drop-in video sessions simultaneously, up to a maximum number. For instance, the DIVaaS system can currently host up to ten different open drop-in video sessions for different users to enter spontaneously.

User Profile313: For any User (A) who has purchased an Exclusive Hive, accessing that Exclusive Hives can be done by any other user (B) from that User's (A) Profile Page. When a user (B) searches for and selects a User (A) who owns an Exclusive Hive, and goes to that User's (A) Profile page, such as in operation313, the user (B) is presented with two tabs, Purchased and Member. If the user (B) selects the Purchased tab (i.e.,325), and an Exclusive Hive tile appears, selecting the hexagon in the tile will drop the user (B) instantly into that Exclusive Hive belonging to the User (A) of the profile page. For example, a user (A) may create a registered account with the DIVaaS system and purchase multiple subscriptions for multiple drop-in video sessions. Any user (B) will be able to access these drop-in video sessions via this user's (A) Profile Page. Continuing with the previous example, the user can have previously purchased subscriptions to access different drop-in video sessions that are individually owned/organized by different celebrities, including an athlete, a singer, and a movie actor. In operation333, the user can select to specifically “drop-in” to the drop-in video session that is owned/operated by the singer, and interactively participate in their purchased drop-in video session to discuss an upcoming concert, for example.

History Hive Stream: The History Hive tab is the DIVaaS system's historical archive of drop-in video sessions that are no longer active. Thus, in response to the user selecting the History Hive tab, in operation322, the user sees a list of all Hives that were previously active, sorted with the Hives that ended most recently first. Since those Hives are no longer active, users will be unable to enter those Hives. However, selecting the tile will take the user to that Exclusive Hive owners Profile Page (i.e., operation350) where the user will be able to see the Hive schedule, including when that Hive will be active next.

Hive Features: Consequently, the method300implements a distinct process for employing one-touch, unprompted, spontaneous, two-way drop-in video sessions, as disclosed herein, that can be accessed by users around the world, and without the limitations associated with having to be scheduled or prompted (e.g., invitation link) to enter a video chat, in a manner that supports spontaneous inclusion and collaboration globally.

Exclusive Hive Embed Code:FIG.4depicts an example of an operational environment400that illustrates the use of exclusive drop-in video sessions distributed to business websites, as implemented by the DIVaaS system (shown inFIG.1). In the example ofFIG.4, a website of a business is displayed on a computer device410. For example, the computer device410is a computer being employed by the business owner. The business is shown as “Mike's Woodcraft,” and the business/business owner can be a registered user of the DIVaaS system (e.g., DIVaaS customer). By adding SoHive embed code directly onto their business website, the business can offer the DIVaaS system and its capabilities. To that end, as seen inFIG.4, the business website (Mike's Woodcraft Website) can also display an icon411that allows visitors to their business website to access their exclusive drop-in video sessions through a single click. Mike's Woodcraft business can host their own exclusive drop-in video sessions via this icon, enabled through the embed code. InFIG.4, the icon411particularly corresponds to a “Live Office Hours” exclusive drop-in video session, which is either available perpetually, or scheduled for specific day(s)/time(s), for example, “recurring beginning Tuesdays, August 23, from 2-3 PM.”

Activating Exclusive Hive Embed Code: Additionally,FIG.4depicts another computer device420which displays the exclusive drop-in video session421that is initiated when a participant (e.g., business customer) accesses the session hosted by the Mike's Woodcraft business. For example, a user of computer device420can be a customer of Mike's Woodcraft, and thusly visits their business website (as shown on computer device410). While viewing Mike's Woodcraft website, the user of computer device420can select the displayed icon411which launches the exclusive drop-in video session hosted by Mike's Woodcraft on their own PC. Once the exclusive drop-in video session421has been entered, the user's computer device420renders the virtual meeting room environment presenting streaming video/audio of a Mike's Woodcraft employee (e.g., leading a woodcraft workshop) and other participants. After the customer leaves the exclusive drop-in video session421, they are returned to Mike's Woodcraft business website, in a manner that allows the DIVaaS system to operate in the background (e.g., not being directly seen by the customers of Mike's Woodcraft business). In other words, an application of the DIVaaS system allows a business to host drop-in video sessions that are directly accessible to their customers via their own business website, where the business' customers have simple, “one click” access to the business' exclusive drop-in video sessions directly from the business website.

SoHive Computing Environment:FIG.5depicts an example computing environment500implementing the DIVaaS system ofFIG.1. InFIG.5, the SaaS cloud-based architecture of DIVaaS system is illustrated. That is, the DIVaaS software540applications and features can be supported on the AWS cloud550, and then provided to customers employing their computing devices510(e.g., over the Internet). As an example, the capability to host and/or access drop-in video sessions provided by the DIVaaS software540is distributed to customers from the AWS cloud550as a service, for instance on a subscription basis. Further,FIG.5shows that the DIVaaS software540and features can be accessible to users through the web, having access points (e.g., clickable icons for drop-in video sessions) that are integrated on social media websites520or business/organization websites530.

FIG.6depicts examples of mechanisms for accessing drop-in video sessions in the computing environment600(also shown inFIG.5).). In the example, a computing device610associated with a customer can utilize various mechanisms to access drop-in video sessions and other interactive video conferencing features supported by DIVaaS software640(residing on the AWS cloud650) and provided via a cloud-based computing model. For example, a user of a computing device610can access a drop-in video session by clicking a corresponding icon that is displayed on a website. The website can be associated with a business/organization that is a customer of DIVaaS system640, and thus is allowed to provide access to a drop-in video session that they are hosting on their personally owned and operated website. As seen inFIG.6, a computing device610of a user can access the interactive features supported by DIVaaS software640(on the AWS cloud650) via a business website621, non-profit website622, content creator website623, influencer website624, and marketplace website625. Additionally,FIG.6illustrates that a user can employ their computer device610to enter a drop-in video session where access is provided via various social media websites (or apps), such as Instagram621and Facebook622. For instance, a customer of the DIVaaS system who is a football coach at a local high school can display a clickable icon that provides access to their hosted drop-in video session about their football team on their personal Facebook page. Thus, any user who wants to join the coach's drop-in video sessions would merely need to go to their social media account to gain access.

Hive Access via Embed:FIG.7depicts an example computing environment700implementing an embed feature provided by the DIVaaS system ofFIG.1. Moreover,FIG.7Embed enables a business to add drop-in, live, interactive video directly on their own website, according to one or more embodiments shown and described herein. As previously described, the DIVaaS system allows its customers to have the ability to host drop-in video sessions (and other interactive video conferencing features) that are accessible via their own business/organization websites. Particularly, a customer of the DIVaaS system can embed the code for an interactive access mechanism, such as clickable icon736, within their business/organization website. In other words, an interactive mechanism for entering a drop-in video session, namely icon736, is visible and interactively accessible for users directly from the business' website.FIG.7shows a user clicking the icon736displayed on a business website731(e.g., code implementing clickable access to the drop-in video host session embedded in website), which would allow them instant access to a corresponding drop-in video session that is hosted by that particular business.

Hive Access via URL:FIG.8depicts an example computing environment implementing a uniform resource locator (URL) feature of the DIVaaS system ofFIG.1, which allows a business to add a URL to their Facebook or Instagram or other social media page, enabling drop-in, live, interactive video directly from their social media site, according to one or more embodiments shown and described herein. More specifically,FIG.8depicts an example computing environment800implementing a uniform resource location (URL) feature that is supported by the DIVaaS system ofFIG.1. The DIVaaS system enables its customers to host drop-in video sessions (and other interactive video conferencing features) that are accessible via social media websites (e.g., websites not operated by the particular business/organization). In the example ofFIG.8, a customer of the DIVaaS system has included a URL, shown as clickable link823, that provides access to their drop-in video session within Instagram822. Therefore, a user can join a drop-in video session hosted by an individual directly from social media, like Instagram822, simply by clicking the URL823displayed on their Instagram profile. It should be appreciated thatFIG.8depicts Facebook821and Instagram822as examples of social media websites for illustrative purposes, and it is not intended to limit the capabilities of the disclosed system with respect to other forms of social media not described herein. Note, the URL can also be used independently of the social media sites. The business owner can email, text or otherwise share the URL link directly to anyone, anywhere, at any time to provide instant access to an exclusive video session.

Hive access via Hive Live Stream:FIG.9depicts an example computing environment implementing a Live Hive stream feature of the DIVaaS system ofFIG.1, in which anyone can join a Live Hive from anywhere in the world, according to one or more embodiments shown and described herein. Moreover,FIG.9depicts an example computing environment900implementing a stream of live video sessions that are two-way interactive, not just one-way, as a feature of the DIVaaS system ofFIG.1.FIG.9illustrates a Hive Live stream capability of the DIVaaS software940. In the example ofFIG.9, the DIVaaS software940provides a GUI941which displays the list of exclusive drop-in video sessions that are currently actively in use and are therefore “live” streamed by the system. Subsequently, any global user can select and join any one of the listed “live” drop-in video sessions directly from the Live Hive stream provided by the DIVaaS software940. In some cases, a “live” drop-in video session already has several users that are currently participating in the interactive video session, and thus a newly joining user of a “live” drop-in video session has a higher likelihood of entering a session that is engaging and includes a substantive group of people. If the number of users in a specific Hive listed equals the maximum number of users allowed in the Hive at one time, any additional users will receive a warning message that the Hive is full, and they must wait until someone leaves the Hive before they can join.

Hive access via Profile Page:FIG.10depicts an example computing environment implementing a profile feature of the DIVaaS system ofFIG.1, in which anyone, anywhere in the world, can join a Hive Owner's Hive directly from the Hive owner's profile page, according to one or more embodiments shown and described herein. Moreover,FIG.10depicts an example computing environment1000implementing a User Profile feature provided by the DIVaaS system ofFIG.1,FIG.10illustrates a SoHive user's Profile Page1041, shown as the profile for a user “Jerry Gordon.” For instance, a user can search for “Jerry Gordon” in the SoHive application, select Jerry Gordon from the list and open the SoHive Profile Page for Jerry Gordon on their smartphone, tablet or laptop in order to view the “Jerry Gordon” profile page1041. Additionally,FIG.10shows that the SoHive Profile Page1041displays a drop-in video session1042that the page's owner (e.g., Jerry Gordon) has subscribed to (e.g., purchased) and is available to live stream by the system. Subsequently, when the customer, namely Jerry Gordon, opens their SoHive Profile Page1042, they are able to see whether the “Mike Handmade Products” drop-in video session that they have purchased is currently live or not. Any SoHive user can click on the displayed icon1043to access that drop-in video session1042directly from the SoHive Profile Page1041without having to leave SoHive.

Device Accessibility:FIG.11depicts an example of computing environment1100implementing a device accessibility feature of the DIVaaS system ofFIG.1.FIG.11illustrates that the DIVaaS software1140and features are accessible from the AWS cloud1150, and are distributed as a SaaS solution. In particular,FIG.11shows that DIVaaS software1140is accessible to mobile devices1101-1104, shown smartphones, via DIVaaS apps1115and business apps1116; and that the DIVaaS software1140is accessible to computing devices1121-1124, shown as personal computers (1121,1122) and tablet computers (1123,1124), via DIVaaS websites1125and business websites1226.

FIG.12depicts a block diagram of an example computer system1200in which the disclosed aspects of the DIVaaS system and drop-in video sessions features may be implemented. Furthermore, it should be appreciated that although the various instructions are illustrated as being co-located within a single processing unit, there may be some implementations in which processor(s) includes multiple processing units, allowing one or more instructions may be executed remotely from the other instructions.

The computer system1200includes a bus1202or other communication mechanism for communicating information, one or more hardware processors1204coupled with bus1202for processing information. Hardware processor(s)1204may be, for example, one or more general purpose microprocessors and can be located anywhere in the world.

The computer system1200also includes a main memory1206, such as a random-access memory (RAM), cache and/or other dynamic storage devices, coupled to bus1202for storing information and instructions to be executed by processor1204. Main memory1206also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor1204. Such instructions, when stored in storage media accessible to processor1204, render computer system1200into a special-purpose machine that is customized to perform the operations specified in the instructions.

The computer system1200further includes a read only memory (ROM)1208or other static storage device coupled to bus1202for storing static information and instructions for processor1204. A storage device1210, such as a magnetic disk, optical disk, etc., is provided and coupled to bus1202for storing information and instructions.

The computer system1200may be coupled via bus1202to a display1212, such as a liquid crystal display (LCD) (or touch screen), for displaying information to a computer user. An input device1214, including alphanumeric and other keys, is coupled to bus1202for communicating information and command selections to processor1204. Another type of user input device is cursor control1216, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor1204and for controlling cursor movement on display1212. In some embodiments, the same direction information and command selections as cursor control may be implemented via receiving touches on a touch screen without a cursor.

The computer system1200also includes a communication interface1218coupled to bus1202. Network interface1218provides a two-way data communication coupling to one or more network links that are connected to one or more local networks. For example, communication interface1218may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, network interface1218may be a local area network (LAN) card to provide a data communication connection to a compatible LAN (or WAN component to communicate with a WAN). Wireless links may also be implemented. In any such implementation, network interface1218sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.

The computer system1200can send messages and receive data, including program code, through the network(s), network link and communication interface1218. In the Internet example, a server might transmit a requested code for an application program through the Internet, the ISP, the local network and the communication interface1218.

The received code may be executed by processor1204as it is received, and/or stored in storage device510, or other non-volatile storage for later execution. In various implementations, operations that are performed “in response to” or “as a consequence of” another operation (e.g., a determination or an identification) are not performed if the prior operation is unsuccessful (e.g., if the determination was not performed). Operations that are performed “automatically” are operations that are performed without user intervention (e.g., intervening user input). Features in this document that are described with conditional language may describe implementations that are optional. In some examples, “transmitting” from a first device to a second device includes the first device placing data into a network for receipt by the second device, but may not include the second device receiving the data. Conversely, “receiving” from a first device may include receiving the data from a network, but may not include the first device transmitting the data.