The present disclosure relates to virtual environments, and more specifically to creating and interacting with location-specific events in virtual environments.
Occupants of locations, such residents in houses or apartments, frequently provide access to guests, such as service providers. For example, a resident can hire a plumber to fix a leaky sink at their residence or a maid service to clean a particular part of their residence.
Traditionally, the resident communicates such requests directly to a service provider and must ensure that the service provider can gain access to the residence to perform the requested service. Some residents remain at their residence during a service request to ensure that the service provider has access and understands the requested service. This can cause significant inconvenience to the resident, especially if the service provider gives a broad window for when they plan to perform the requested service. Other residents hide keys, or leave access points to the residence unlocked to provide access to the service provider and rely on handwritten notes or previous communications with the service providers to provide information about the requested service. Such practices can be insecure, time consuming, inefficient, and prone to error, for example, if a service provider provides the requested service on the wrong item in the residence (e.g., fixes the wrong sink).
In some embodiments, a method includes displaying, on a user interface of a mobile device, at least one image of a portion of an area; receiving, via the user interface, a selection of a location on the at least one image of the portion of the area; identifying, a physical location associated with the selected location; determining, based on at least one permission stored in a permissions database, that the user is authorized to submit a service request in association with at least one of the identified physical location or the area; displaying, on the user interface, two or more service request types; receiving, via the user interface, a selection of at least one service request type of the two or more service request types; and storing, in an event database, an event comprising: an indication of the identified physical location, and an indication of the at least one service request type.
In some embodiments the method further includes updating, in the permissions database, one or more permissions to enable a service provider to gain access to the at the event.
In some embodiments the method further includes updating, in the permissions database, one or more permissions to enable a service provider to gain access to an access point associated with the at least one of the physical location or the area.
In some embodiments the method further includes receiving, via the user interface, at least one of video or text instructions associated with the at least one service request type.
In some embodiments the method further includes displaying, on the user interface, at least one service request subtype; and receiving, via the user interface, a selection of one or more of the at least one service request subtype.
In some embodiments the method further includes displaying, on the user interface, an event marker associated with the event in the selected location on at least one image of the portion of the area.
In some embodiments the method further includes displaying, on the user interface, at least one of a second event marker associated with a second event stored in the event database or a direction to a second event marker associated with a second event stored in the event database.
In some embodiments the method further includes displaying an event list on the user interface, the displayed event list comprising: a list entry associated with the event; and a list entry associated with at least one second event stored in the event database.
In some embodiments the identifying at least one physical location associated with the selected location comprises locating a corresponding location on a virtual map representing the area.
In some embodiments the virtual map representing the area comprises a virtual 3D map of the area.
In some embodiments the user interface comprises a touch screen with a graphical display.
In some embodiments at least one of the event database or the permissions database are in a location remote from the area.
In some embodiments at least one of the event database or the permissions database are within the area.
In some embodiments a method includes receiving, by a user mobile device, at least one image of a portion of an area from at least one camera of the user mobile device; identifying a physical location of the portion of the area in the at least one image; determining, based on at least one permission stored in a permissions database, that the user of the user mobile device is authorized to view events associated with at least one of the identified physical location or the area; identifying, in at least one event database, events having an associated location at at least one of the identified physical location of the portion of the area in the at least one image or the area; displaying, on a graphical user interface of the user mobile device, at least one interactive event marker associated with the at least one identified event overlaid in the identified physical location in the at least one image.
In some embodiments the method further includes granting a user of the mobile device access to an access point associated with the area based on at least one permission stored in the permissions database.
In some embodiments the locating, in the at least one event database, events having an associated location at the identified physical location of the portion of the area in the at least one image comprises transmitting a request for a list of events based on at least one of the identified physical location or the area.
In some embodiments the identifying the physical location of the portion of the area in the at least one image comprises locating a corresponding location on a virtual map representing the area.
In some embodiments the method further includes receiving, from a user, a selection of one of the at least one interactive event marker; and displaying, on the graphical user interface, information associated with the event associated with interactive event marker.
In some embodiments the information comprising one or more of video, text instructions, an event type, or an indication of a device associated with the event.
In some embodiments the method further includes displaying, on the user interface, a direction to at least one second interactive event marker associated with a second event stored in the at least one event database.
Various objectives, features, and advantages of the disclosed subject matter can be more fully appreciated with reference to the following detailed description of the disclosed subject matter when considered in connection with the following drawings, in which like reference numerals identify like elements.
According to embodiments of the present invention, systems and methods are disclosed that enable an occupant to associate events with particular locations for use by guests. Occupants can include individuals that have some level of temporary or permanent access privileges to one or more locations. Examples of such individuals include but are not limited to homeowners or tenants of a house or an apartment, a hotel guest, an employee or owner of a business, a representative of a management company associated with a building or physical space, or other similar individuals. Locations can include, but are not limited to, houses, apartments, businesses, real property, vehicles, freight systems (e.g., airplanes, trains, or boats), or similar locations to which access may be limited to some individuals.
According to some embodiments, occupants may want to provide access to a location to guests for a particular purpose. For example, a homeowner may wish to provide a service provider, such as a repairperson or a delivery person, with access to their home for particular tasks, such as delivering a package or for repairs, e.g., inspecting and repairing a broken light. According to some embodiments, guests can include, but are not limited to individuals seeking access to the location to conduct a repair (e.g., of a fixture or item in the location), deliver an object (e.g., package or groceries), visit the location (e.g., a tourist or a hotel guest), retrieve an object (e.g., a dogwalker seeking to retrieve a dog for walking), a service provider (e.g., a cable technician or a cleaning service), or other types of individuals. According to some aspects of the present disclosure, a system can allow the occupant to interact with a virtual environment in the location and provide virtual information and/or augmented information about particular events to guests who visit the location. According to some embodiments, tasks can simply include interacting with the virtual environment based on permissions granted by the occupant and does not require completion of physical tasks in the location by guests.
As shown in
As shown in
As shown in
As shown in
As shown in
As shown in
As shown in
As shown in
As discussed in more detail below with reference to
According to some embodiments, touching the event marker 160A on the interface 300 shown in
As shown in
Cloud 410 can include one or more of the permission server 412, the event server 414, and the map server 416. Permission server 412 can store permissions associated with users of the system 400, such as the occupant associated with the occupant device 456 and the guest associated with the guest device 470. Permissions relate to the levels or types of access that individuals have to particular locations, such as the location 450. Event server 414 stores information related to event markers, such as, but not limited to, location information, physical location information within the location, service request types/categories, subtype information, timing information, author information, or other information. Map server 416 can store representations of various locations, such as the location 450, with which events can be associated. Guest device 470 can have access to the cloud 410 via the network 420A, and to one or more of the devices in location 450 using network 420B either remotely or locally. Networks 420A and 420B can be the same network or different networks.
During operation, occupants can store permissions in one or more of the permission server 412 and the local storage 418. Permissions specify whether individuals associated with the system 400 can access the system as an occupant or guest. Permissions can include more detailed permission information, such as when, how, where, and which event information the individual can access. Permissions can be associated, for example, with accounts registered with the system 400 and associated with individuals. It should be appreciated that the distinction between occupant and guest can be merely semantic, and can delineate varying tiers or levels of permissions with occupants having permissions above a specified threshold.
A physical map of the location 450 can be stored at one or more of the local storage 414 and the map server 416. According to some embodiments, a map of the location 450 can also be locally cached or stored on the occupant device 456 and/or the guest device 470. For example, since an occupant may have routine access to the location 450, the occupant can maintain a copy of the map locally on the device 456 in order to easily and seamlessly interact with the virtual environment and/or augmented environment in location 450 without having to load large data files from remote devices. However, since access by guests can be limited in the frequency or scope of their access, the system 400 can require the guests to retrieve the map for location 450 from the map server 416 or the local storage 418 only when they are in the location 450, and then require it to be deleted or render it unusable after expiration of their permission. The map can include a 3D or 2D representation of the location 450. According to some embodiments, the map is an actual representation of the 2D or 3D structure of the location 450 or a relative representation relative to various devices in the location 450. It can also have outer boundaries associated with the location defined for purposes of defining limits to where events can be placed and/or to determine when and where individuals are granted permission to the virtual environment and/or augmented environment in the location 450. According to some embodiments, when a map is not available, or when a guest or occupant does not have permission for the map of a particular location, an individual can access the system via simply using the lists shown above with respect to
As discussed above, an occupant can create an event in the location 450 on the occupant device 456. Occupant device can determine the location on the map, for example, using a combination of one or more of GPS data, Bluetooth proximity/range finding/triangulation with one or more of the devices 452A/452B or the access control device which have fixed locations on the map, or other methods of determining physical location. The event can then be stored in one or more of the event server 414, local storage 418, and the occupant device 456 in association with this physical location. According to some embodiments, only some of the information associated with the event is transmitted to the event server 414 so as to maintain private information such as physical location information and/or recorded messages in only more secure locations like the local storage 418 and/or occupant device 456.
After creating the event, the occupant can interact with it using the occupant device 456. According to some embodiments, the event server 414 can communicate service requests based on the event to guests, such as the guest in possession of guest device 470. According to some embodiments, the guest can be a predetermined contact for particular service request types. According to some additional embodiments, this communication can take the form of a marketplace in which registered or approved guests bid for a price to complete service requests. Still according to other embodiments, the event server simply routs the service request to a particular guest input by the occupant at the time of event creation (for example, via inputting a guest email, phone number, or account information). Optionally, the system 400 can also provide an update to permissions server 412 to allow the contacted guest access to the access point 454 and/or to view particular subsets or types of events in the virtual environment and/or augmented environment 340 within the location 450.
As discussed above, the guest can gain access to the location 450 and complete service requests at the location 450 by interacting with the virtual environment and/or augmented environment 340 via the guest interface 470. According to some embodiments, access at the access point 454 is granted automatically based on updated permissions in the permissions server 412, for example as described in more detail in U.S. application ser. No. 15/342,911. As discussed above, the guest's access can be limited to particular locations at particular times and to viewing particular types of events based on the permissions in permission server 412. The guest can also respond to particular service requests by marking them as completed and/or attaching messages.
According to some embodiments, one or more of event server 414 and local storage 418 can track statistics about events. For example, metrics like completion rate, occupant satisfaction, cost of completion, cost of providing service to occupants per event or per occupant, or other useful metrics. Accordingly, the system 400 may learn more about how events are responded to, and how to better match guests to particular service requests. Other uses for this information are contemplated.
The subject matter described herein can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structural means disclosed in this specification and structural equivalents thereof, or in combinations of them. The subject matter described herein can be implemented as one or more computer program products, such as one or more computer programs tangibly embodied in an information carrier (e.g., in a machine readable storage device), or embodied in a propagated signal, for execution by, or to control the operation of, data processing apparatus (e.g., a programmable processor, a computer, or multiple computers). A computer program (also known as a program, software, software application, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file. A program can be stored in a portion of a file that holds other programs or data, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
The processes and logic flows described in this specification, including the method steps of the subject matter described herein, can be performed by one or more programmable processors executing one or more computer programs to perform functions of the subject matter described herein by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus of the subject matter described herein can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processor of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of nonvolatile memory, including by way of example semiconductor memory devices, (e.g., EPROM, EEPROM, and flash memory devices); magnetic disks, (e.g., internal hard disks or removable disks); magneto optical disks; and optical disks (e.g., CD and DVD disks). The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
To provide for interaction with a user, the subject matter described herein can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, (e.g., a mouse or a trackball), by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well. For example, feedback provided to the user can be any form of sensory feedback, (e.g., visual feedback, auditory feedback, or tactile feedback), and input from the user can be received in any form, including acoustic, speech, or tactile input.
The subject matter described herein can be implemented in a computing system that includes a back end component (e.g., a data server), a middleware component (e.g., an application server), or a front end component (e.g., a client computer having a graphical user interface or a web browser through which a user can interact with an implementation of the subject matter described herein), or any combination of such back end, middleware, and front end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
It is to be understood that the disclosed subject matter is not limited in its application to the details of construction and to the arrangements of the components set forth in the following description or illustrated in the drawings. The disclosed subject matter is capable of other embodiments and of being practiced and carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting.
As such, those skilled in the art will appreciate that the conception, upon which this disclosure is based, may readily be utilized as a basis for the designing of other structures, methods, and systems for carrying out the several purposes of the disclosed subject matter. It is important, therefore, that the claims be regarded as including such equivalent constructions insofar as they do not depart from the spirit and scope of the disclosed subject matter.
Although the disclosed subject matter has been described and illustrated in the foregoing exemplary embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the disclosed subject matter can be made without departing from the spirit and scope of the disclosed subject matter, which is limited only by the claims which follow.
This application claims the benefit under 35 U.S.C. § 119(e) to U.S. Provisional Application No. 62/770,104, entitled “OCCUPANT AND GUEST INTERACTION WITH A VIRTUAL ENVIRONMENT,” filed on Nov. 20, 2018, the content of which is incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
62770104 | Nov 2018 | US |