Patent ID: 12260354

DETAILED DESCRIPTION

Referring toFIG.1, an exemplary network environment100is illustrated that includes a reservation management device102coupled, via communication network(s)104(1), to client devices106(1)-106(n) and workspace host devices108(1)-108(n) and, via communication network(s)104(2), web servers110(1)-110(n). The network environment100may include other network devices such as one or more routers or switches, for example, which are known in the art and thus will not be described herein. This technology provides a number of advantages including methods, non-transitory computer readable media, and reservation management devices that efficiently analyze user and available workspace geolocations to facilitate workspace reservations to allow meetings to occur at more convenient locations, thereby reducing travel time, improving collaboration, and optimizing physical workspace utilization. The term “meeting” as used herein includes any type of event that includes multiple people.

In this particular example, the client devices106(1)-106(n), workspace host devices108(1)-108(n), reservation management device102, and web servers110(1)-110(n) are disclosed inFIG.1as dedicated hardware devices. However, one or more of the client devices106(1)-106(n), workspace host devices108(1)-108(n), reservation management device102, or web servers110(1)-110(n) can also be implemented in software within one or more other devices in the network environment100. As one example, the reservation management device102, as well as any of its components or applications, can be implemented as software executing on one of the web servers110(1)-110(n), and many other permutations and types of implementations and network topologies can also be used in other examples.

Referring toFIGS.1-2, the reservation management device102of the network environment100may perform any number of functions, including providing graphical user interfaces (GUIs) to the client devices106(1)-106(n) and workspace host devices108(1)-108(n) and communicating with the web servers110(1)-110(n) to facilitate workspace reservations. The reservation management device102in this example includes one or more processor(s)200, a memory202, and a communication interface204, which are coupled together by a bus206, although the reservation management device102can include other types or numbers of elements in other configurations.

The processor(s)200of the reservation management device102may execute programmed instructions stored in the memory202of the reservation management device102for any number of the functions described and illustrated herein (e.g., with reference toFIG.3). The processor(s)200may include one or more central processing units (CPUs) or general purpose processors with one or more processing cores, for example, although other types of processor(s) can also be used.

The memory202of the reservation management device102stores these programmed instructions for one or more aspects of the present technology as described and illustrated herein, although some or all of the programmed instructions could be stored elsewhere. A variety of different types of memory storage devices, such as random access memory (RAM), read only memory (ROM), hard disk, solid state drives, flash memory, or other computer readable medium which is read from and written to by a magnetic, optical, or other reading and writing system that is coupled to the processor(s)200, can be used for the memory202.

Accordingly, the memory202can store applications that can include computer executable instructions that, when executed by the reservation management device102, cause the reservation management device102to perform actions, such as to transmit, receive, or otherwise process network messages and requests, for example, and to perform other actions described and illustrated below with reference toFIGS.3-10. The application(s) can be implemented as components of other applications, operating system extensions, and/or plugins, for example.

Further, the application(s) may be operative in a cloud-based computing environment with access provided via a software-as-a-service model. The application(s) can be executed within or as virtual machine(s) or virtual server(s) that may be managed in a cloud-based computing environment. Also, the application(s), and even the reservation management device102itself, may be located in virtual server(s) running in a cloud-based computing environment rather than being tied to specific physical network computing devices. Also, the application(s) may be running in virtual machines (VMs) executing on the reservation management device102and managed or supervised by a hypervisor.

In this particular example, the memory202includes a user database208and a workspace database210. The user database208stores user data received from the client devices106(1)-106(n) via the reservation applications112(1)-112(n) executing thereon, such as identification data, login credentials, an indication of an associated organization, and/or user preference data (e.g., a willingness to travel within a specified radius for meetings), for example. The workspace database stores workspace data obtained from the workspace host device108(1)-108(n), such as size, availability data, amenities, and/or cost, for example. Other information can be stored in one or more of the user database208or the workspace database210in other examples, and other data stores and/or applications or modules also can be hosted by the reservation management device102in other examples.

The communication interface204of the reservation management device102operatively couples and communicates between the reservation management device102, client devices106(1)-106(n), workspace host devices108(1)-108(n) and web servers110(1)-110(n), which are coupled together at least in part by the communication network(s)104(1) and104(2), although other types or numbers of communication networks or systems with other types or numbers of connections or configurations to other devices or elements can also be used.

By way of example only, the communication network(s)104(1) and104(2) can include local area network(s) (LAN(s)) or wide area network(s) (WAN(s)), and can use TCP/IP over Ethernet and industry-standard protocols, although other types or numbers of protocols or communication networks can be used. The communication network(s)104(1) and104(2) in this example can employ any suitable interface mechanisms and network communication technologies including, for example, Ethernet-based Packet Data Networks (PDNs).

While the reservation management device102is illustrated in this example as including a single device, the reservation management device102in other examples can include a plurality of devices each having one or more processors (each processor with one or more processing cores) that implement one or more steps of this technology. In these examples, one or more of the devices can have a dedicated communication interface or memory. Alternatively, one or more of the devices can utilize the memory, communication interface, or other hardware or software components of one or more other devices included in the reservation management device102. Additionally, one or more of the devices that together comprise the reservation management device102in other examples can be standalone devices or integrated with one or more other devices or apparatuses.

Each of the client devices106(1)-106(n) of the network environment100in this example includes any type of computing device that can exchange network data, such as mobile, desktop, laptop, or tablet computing devices, virtual machines (including cloud-based computers), or the like. Each of the client devices106(1)-106(n) in this example includes a processor, a memory, and a communication interface, which are coupled together by a bus or other communication link (not illustrated), although other numbers or types of components could also be used.

Each of the client devices106(1)-106(n) may run interface applications, such as standard web browsers or the standalone reservation applications112(1)-112(n), which may provide an interface to communicate with the reservation management device102via the communication network(s)104(1). Each of the client devices106(1)-106(n) may further include a display device, such as a display screen or touchscreen, or an input device, such as a keyboard or mouse, for example (not illustrated).

Each of the workspace host devices108(1)-108(n) of the network environment100in this example includes any type of computing device that can exchange network data, such as mobile, desktop, laptop, or tablet computing devices, virtual machines (including cloud-based computers), or the like. Each of the workspace host devices108(1)-108(n) in this example includes a processor, a memory, and a communication interface, which are coupled together by a bus or other communication link (not illustrated), although other numbers or types of components could also be used.

Each of the workspace host devices108(1)-108(n) may run interface applications, such as standard web browsers or standalone applications, which may provide an interface to communicate with the reservation management device102via the communication network(s)104(1). Each of the workspace host devices108(1)-108(n) may further include a display device, such as a display screen or touchscreen, or an input device, such as a keyboard or mouse, for example (not illustrated).

Each of the web servers110(1)-110(n) in this example includes one or more processors, a memory, and a communication interface, which are coupled together by a bus or other communication link, although other numbers and types of network devices could be used. The web servers110(1)-110(n) in this example process requests (e.g., API requests) received from the reservation management device102related to hosted content or services via the communication network(s)104(2) according to the HTTP-based application RFC protocol, for example. Various applications may be operating on the web servers110(1)-110(n) and transmitting data (e.g., files or web pages) to the reservation management device102. The web servers110(1)-110(n) may be hardware or software or may represent a system with multiple servers in a pool, which may include internal or external networks.

Although the web servers110(1)-110(n) are illustrated as single devices, one or more actions of each of the web servers110(1)-110(n) may be distributed across one or more distinct network computing devices that together comprise one or more of the web servers110(1)-110(n). Moreover, the web servers110(1)-110(n) are not limited to a particular configuration. Thus, the web servers110(1)-110(n) may contain a plurality of network computing devices that operate using a master/slave approach, whereby one of the network computing devices of the web servers110(1)-110(n) operate to manage and/or otherwise coordinate operations of the other network computing devices. The web servers110(1)-110(n) may operate as a plurality of network computing devices within a cluster architecture, a peer-to peer architecture, virtual machines, or within a cloud architecture, for example.

Although the exemplary network environment100with the client devices106(1)-106(n), workspace host devices108(1)-108(n), reservation management device102, web servers110(1)-110(n), and communication network(s)104(1) and104(2) are described and illustrated herein, other types or numbers of systems, devices, components, or elements in other topologies can be used. It is to be understood that the systems of the examples described herein are for exemplary purposes, as many variations of the specific hardware and software used to implement the examples are possible, as will be appreciated by those skilled in the relevant art(s).

One or more of the components depicted in the network environment100, such as the client devices106(1)-106(n), reservation management device102, workspace host devices108(1)-108(n), or web servers110(1)-110(n), for example, may be configured to operate as virtual instances on the same physical machine. In other words, one or more of the client devices106(1)-106(n), workspace host devices108(1)-108(n), reservation management device102, or web servers110(1)-110(n) may operate on the same physical device rather than as separate devices communicating through communication network(s)104(1) or104(2). Additionally, there may be more or fewer client devices, workspace host devices, reservation management devices, or web servers than illustrated inFIG.1.

The examples of this technology may also be embodied as one or more non-transitory computer readable media having instructions stored thereon, such as in the memory202, for one or more aspects of the present technology, as described and illustrated by way of the examples herein. The instructions in some examples include executable code that, when executed by one or more processors, such as the processor(s)200, cause the processors to carry out steps necessary to implement the methods of the examples of this technology that are described and illustrated herein.

Referring toFIG.3, a flowchart of an exemplary method for managing workspace reservations is illustrated. In step300in this example, the reservation management device102determines whether a request to onboard a new workspace has been received from one of the workspace host devices108(1)-108(n). The request can be received via a mobile application executing on the workspace host devices108(1)-108(n) or an interface (e.g., web page) provided by the reservation management device102, for example. If the reservation management device102determines that a request to onboard a new workspace has been received, then the Yes branch is taken to step302.

In step302, the reservation management device102obtains and stores workspace data including a geolocation (e.g., latitude/longitude coordinates or a street address) for the workspace and availability data for the workspace. The workspace data can be stored in the workspace database210optionally in association with a generated unique identifier for the workspace. The workspace data can include information regarding the workspace to be made available for reservation, such as amenities, size, handicap accessibility, cost, and/or type (e.g., conference room, common area, or auditorium).

The availability data can indicate particular available dates/times and/or day of the week or date/time ranges, for example. Other information can also be included in the workspace data in other examples. While new workspaces are explicitly onboarded in this example, in other examples the reservation management device102can link or interface directly with an internal reservation system (e.g., an enterprise scheduling system) for one or more portions of the workspace data (e.g., the availability data) for any number of workspace hosts. Subsequent to obtaining and storing the workspace data, or if the reservation management device102determines a request to onboard a new workspace has not been received and the No branch is taken from step300, then the reservation management device102proceeds to step304.

In step304, the reservation management device102determines whether a request to onboard a new user has been received from one of the client devices106(1)-106(n). In one example, a user of one of the client devices106(1)-106(n) can download the reservation application112(1)-112(n) and submit a request for login credentials via the downloaded reservation application112(1)-112(n). In other examples, the request to onboard a new user can be generated by a separate enterprise device (e.g., an access management device) during onboarding for all new employees. Other methods of generating the request to onboard a new user can also be used in other examples. If the reservation management device102determines that a request to onboard a new user has been received, then the Yes branch is taken to step306.

In step306, the reservation management device102obtains and stores user data including identification data and optional preference data in the user database208. The identification data can include an employee ID, name, or any other unique identifier for the user and the preference data can include an indication of a maximum radius or travel time that is acceptable to the user to join a meeting, for example. The user data can also include an indication of an associated organization, a role of the user in the organization, and/or any other information about the user. Subsequent to obtaining and storing the user data, or if the reservation management device102determines a request to onboard a new user has not been received and the No branch is taken from step304, then the reservation management device102proceeds to step308.

In step308, the reservation management device102determines whether a login request has been received from a user of one of the client devices106(1)-106(n), which can be the newly-added user in step306or another previously-enrolled user. Accordingly, the login request can be received via one of the reservation applications112(1)-112(n) in some examples. If the reservation management device102determines that a login request has not been received then the No branch is taken back to step300. Accordingly, the reservation management device102effectively waits for a request to onboard a new workspace or a new user, or for a login request. If the reservation management device102determines that a login request has been received, then the Yes branch is taken to step310.

In step310, the reservation management device102obtains workspace parameter(s) for a meeting after authenticating the user of the one of the client devices106(1)-106(n) from which the login request was received. The user can be authenticated based on login credentials stored in the user database208in step306, for example, although other authentication methods (e.g., single sign-in (SSO)) can also be used. Additionally, the workspace parameter(s) can be obtained via a workspace parameter interface400generated by the reservation management device102and provided to the one of the client devices106(1)-106(n) (e.g., via one of the reservation applications112(1)-112(n)).

The workspace parameter(s) can be any characteristic of a physical workspace that is a requirement for the meeting as established by the meeting host, which is the authenticated user in this example. Exemplary workspace parameter(s) can include amenities (e.g., WiFi service, cafe in the same building, free parking, projector, whiteboard, voice/video communications, etc.), accessibility requirements (e.g., handicap accessibility, ground floor access, etc.), size (e.g., physical size, seating, number of desks/conference tables, etc.), or type of workspace (e.g., private conference room, public common area, etc.), and any other workspace parameter(s) can also be used in other examples.

Referring toFIG.4, an exemplary workspace parameter interface400is illustrated. In this example, a user of the one of the client devices106(1)-106(n) can input a type workspace parameter via a workspace type button402, but any other number or type of workspace parameter(s) can be specified by the user of the one of the client devices106(1)-106(n) that is interfacing with the reservation management device102to establish a meeting.

Referring back toFIG.3, in step312, the reservation management device102obtains an indication (e.g., name or other unique identifier) from the one of the client devices106(1)-106(n) of other user(s) to be included in the meeting, which are referred to herein as registered users. The registered users are previously registered with the reservation management device102and can be previously-connected to the user of the one of the client devices106(1)-106(n) via an internal network (e.g., with user links maintained in the user database208) and/or external network (e.g., a public social media network or enterprise network), for example. In other examples, the other user(s) can be selected from a subset of the user data in the user database208that corresponds with users associated with a same organization as the authenticated user of the one of the client devices106(1)-106(n). In some examples, the indication of the other user(s) can be obtained via a collaboration interface500generated by the reservation management device102and provided to the one of the client devices106(1)-106(n) (e.g., via one of the reservation applications112(1)-112(n)).

Referring toFIG.5, an exemplary collaboration interface500is illustrated. In this example, a search input field502is included in the collaboration interface500that can facilitate searching by name. In other examples, other selection or filtering criteria can be used, such as a user role or a current user geolocation, for example. In yet other examples, other methods of facilitating identification of other user(s) to be included in the meeting can be used.

With the indication of the other user(s) to be included in the meeting obtained in step310, the reservation management device102then determines geolocations of the authenticated user hosting or establishing the meeting and the other user(s). The user geolocations can be determined by pinging the one of the client devices106(1)-106(n) and other of the client devices106(1)-106(n), associated with the indicated or selected registered users and executing one of the reservation applications112(1)-112(n), to obtain the geolocation via a global positioning system (GPS) service executing on the client devices106(1)-106(n). The other of the client devices106(1)-106(n) can be identified to facilitate a ping based on a correlation in the user database208of the indications obtained in step312with unique identifiers (e.g., IP addresses) of the other of the client devices106(1)-106(n) obtained and stored in step306and/or via the reservation applications112(1)-112(n) executing thereon.

In step314, the reservation management device102correlates user and workspace geolocations to identify an initial set of workspaces for which workspace data is stored in the workspace database210. The initial set of workspaces can be generated based on default criteria such as no more than twenty miles from the current geolocation of any one of the users to be included in the meeting. Other methods for generating the initial set of workspaces can also be used.

Referring toFIG.6, an exemplary user location interface600is illustrated. The user location interface600is optionally generated and provided by the reservation management device102(e.g., via one of the reservation applications112(1)-112(n)) to graphically show the authenticated user the general or high level location of each of the registered users to be included in the meeting. In some examples, the granularity of the user location interface is limited for security purposes. In this particular example, the user location interface600includes a map602with an overlay of user images604(1)-604(5) disposed proximate their corresponding geolocations on the map604, although other types of information can be included in the optional user location interface600in other examples.

Referring back toFIG.3, in step316, the reservation management device102filters the workspaces identified in the initial set of workspaces in step314based on the workspace data and workspace geolocations to identify a subset of the initial set of workspaces that satisfy the workspace parameter(s) and user preference data. For example, the reservation management device102can filter the workspaces based on workspace data that indicates that a workspace is not large enough to host the number of users identified in step312.

In another example, the reservation management device102may filter the workspaces based on a restriction in the user preference data for one of the registered users to be included in the meeting that the other user will not travel more than a specified distance from the other user's current location. In yet another examples, the reservation management device102can filter the workspaces based on workspace data indicating stairs are required to access the workspace and a workspace parameter indicating that the workspace must be handicap accessible. Any other number or type of filtering criteria can be applied in step316to determine the subset of the workspaces.

Referring toFIG.7, an exemplary workspace location interface700is illustrated. The reservation management device102can generate and provide the workspace location interface700in this example (e.g., via one of the reservation applications112(1)-112(n)) to facilitate viewing of the geolocations of the subset of the workspaces graphically on the map602. The geolocations can be retrieved from the workspace database210for generating the workspace location interface700. Optionally, the user geolocations illustrated inFIG.6can be provided on the workspace location interface700via an overlay in some examples.

With the workspace location interface, the authenticated user of the one of the client devices106(1)-106(n) can scroll through a workspace listing700of possible workspaces that may be available to satisfy the various requirements for the meeting the authenticated user intends to host. Optionally, the workspace location interface700can include a preview of the subset of the workspaces that includes a portion of the workspace data (e.g., amenities, an image, or review summary) retrieved from the workspace database210.

Referring back toFIG.3, in step318, the reservation management device102receives a selection of one of the subset of the workspaces from the one of the client devices106(1)-106(n). In some examples, the selection can be made via a workspace selection interface800generated and provided by the reservation management device102(e.g., via one of the reservation applications112(1)-112(n)) following selection of one of the previews provided in the listing702of the workspace location interface700.

Referring toFIG.8, an exemplary workspace selection interface800is illustrated. In this example, the workspace selection interface800provides more of the workspace data for a workspace in the subset of workspaces than the preview of the listing702of the workspace location interface700. In this particular example, the reservation management device102includes workspace image(s)802, an amenities listing804determined from the stored workspace data, and workspace reviews806, which can be retrieved from the workspace data or obtained from one or more of the web servers110(1)-110(n), for example.

The reservation management device102in this example also determines, and graphically outputs, an estimated travel time808for each of the registered users to be included in the meeting. In one example, the estimated travel times808are determined via an application programming interface (API) request to a third party service hosted by one of the web servers110(1)-110(n) (e.g., the Google Maps Platform) that includes the workspace geolocation retrieved from the workspace database210and user geolocations for the registered users determined in step312. The workspace selection interface800also includes a reserve button810in this example that, when selected by the authenticated user of the one of the client devices106(1)-106(n), generates the selection received by the reservation management device102in step318ofFIG.3.

In step320, the reservation management device102receives a reservation request based on availability of the selected workspace corresponding to the selection received in step318. The availability can be determined based on the availability data stored in the workspace database210and correlated with a unique identifier for the workspace received with the selection in step318, for example. The reservation request can be received via a reservation interface900generated by the reservation management device102and provided to the one of the client devices106(1)-106(n) (e.g., via one of the reservation applications112(1)-112(n)) in some examples.

Referring toFIG.9, an exemplary reservation interface900is illustrated. In this example, the reservation interface900is generated to include selectable time windows determined from the availability data for the workspace. Accordingly, the reservation interface900allows a user to select a date902, time904, and duration906, along with equipment908required to be present and any special requests908. Upon inputting the various selections and interfacing with the confirm reservation button912, the reservation interface900initiates the reservation request received by the reservation management device102in step320.

In step322, the reservation management device102updates the stored availability data for the selected workspace based on a time window (e.g., date, time, and/or duration) selected by the authenticated user of the one of the client devices106(1)-106(n) and optionally indicated in the reservation request received in step320. The reservation management device102can automatically send digital calendar invitations (e.g., via a push notification and the corresponding reservation applications112(1)-112(n)) to those of the client devices106(1)-106(n) associated with the registered users to be included in the meeting.

Additionally, the reservation management device102can receive a request to calendar the meeting from the authenticated user of the one of the client devices106(1)-106(n) that is hosting the meeting, which in some examples causes the reservation management device102to generate a digital calendar invitation for the authenticated user or automatically update a stored calendar in examples in which the reservation management device102is authorized by the authenticated user to do so. Other methods for processing requests to calendar the meeting can also be used in other examples.

Referring toFIG.10, an exemplary scheduling interface1000is illustrated. In this example, the reservation management device102generates and provides the scheduling interface100to the one of the client devices106(1)-106(n) to allow the authenticated user hosting the meeting to request that the meeting be added to the user's calendar via interaction with an add to my calendar button1002. Other information and/or functionality can also be provided via the scheduling interface1000in other examples.

As described and illustrated by way of the examples herein, this technology provides an improved reservation management device that more efficiently hosts and reserves workspaces for collaborative meetings. This technology obtains and correlates workspace and user geolocations to generate an optimized set of workspaces available for reservation by a meeting host. Accordingly, this technology reduces travel time for in-person collaboration and provides flexibility for physical workspace owners and managers to facilitate optimized workspace utilization.

Having thus described the basic concept of the invention, it will be rather apparent to those skilled in the art that the foregoing detailed disclosure is intended to be presented by way of example only, and is not limiting. Various alterations, improvements, and modifications will occur and are intended to those skilled in the art, though not expressly stated herein. These alterations, improvements, and modifications are intended to be suggested hereby, and are within the spirit and scope of the invention. Additionally, the recited order of processing elements or sequences, or the use of numbers, letters, or other designations therefore, is not intended to limit the claimed processes to any order except as may be specified in the claims. Accordingly, the invention is limited only by the following claims and equivalents thereto.