US20190387047A1 - Session hand-off for mobile applications - Google Patents
Session hand-off for mobile applications Download PDFInfo
- Publication number
- US20190387047A1 US20190387047A1 US16/556,377 US201916556377A US2019387047A1 US 20190387047 A1 US20190387047 A1 US 20190387047A1 US 201916556377 A US201916556377 A US 201916556377A US 2019387047 A1 US2019387047 A1 US 2019387047A1
- Authority
- US
- United States
- Prior art keywords
- computing device
- session
- online session
- user
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/18—Commands or executable codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/148—Migration or transfer of sessions
-
- H04L67/38—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/64—Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/66—Remote control of cameras or camera parts, e.g. by remote control devices
- H04N23/661—Transmitting camera control signals through networks, e.g. control via the Internet
-
- H04N5/23206—
-
- H04N5/23222—
-
- H04L51/38—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/58—Message adaptation for wireless communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/50—Constructional details
- H04N23/51—Housings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/56—Cameras or camera modules comprising electronic image sensors; Control thereof provided with illuminating means
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/62—Control of parameters via user interfaces
-
- H04N5/2252—
-
- H04N5/23216—
Definitions
- One of the problems with such tools is that the process of uploading the image of the setting is inconvenient.
- a computing device such as a desktop
- the user may need the image of the room stored at the desktop, or at some other location, e.g., a cloud storage service, from which the user can upload. If the user does not have the image of the room stored at an accessible location, the user may not be able to upload the image.
- the desktop may not have a camera for the user to capture the image of the room, or even if the desktop has a camera, it may not be convenient to take a picture of the room using the desktop's camera.
- One of the alternatives is to capture the image of the setting using a mobile computing device such as a “smartphone” and transfer the image from the smartphone to the desktop.
- the user can transfer the image to the desktop using various means, or upload the image to the cloud storage service from the smartphone first and then download it to the desktop, and upload the image from the desktop to the art application.
- the above process of uploading the image of the setting to the art application is time-consuming, laborious and inconvenient.
- FIG. 1 is an environment in which the disclosed embodiments can be implemented.
- FIG. 2 is a block diagram of an example of the hand-off service implemented in the art application, consistent with various embodiments.
- FIG. 3 is a block diagram of another example of the hand-off service implemented in the art application, consistent with various embodiments.
- FIG. 4 is a block diagram of the server of FIG. 1 , consistent with various embodiments.
- FIG. 5 is a flow diagram of a process for handing-off a session between the server and a client to another client, consistent with various embodiments.
- FIG. 6 is a flow diagram of another process for handing-off a session between the server and a client to another client, consistent with various embodiments.
- FIG. 7 is a block diagram of a processing system that can implement operations of the disclosed embodiments.
- a hand-off service that enables sharing session data of an online session between a server computing device (“server”) and a client computing device (“client”) seamlessly with one or more additional clients.
- the hand-off service can be implemented in applications for transmitting digital assets between clients seamlessly.
- a digital asset can be a multimedia file, e.g., an image file, a video file, an audio file, a computer generated imagery (CGI) file.
- the hand-off service can be implemented in an art application that is used for finding digital assets such as décor items (or, at least in some cases, a digital representation of a décor item).
- the art application can enable a user to find a décor item that the user thinks matches with a particular setting, e.g., a living room, a bedroom or a lobby.
- the art application can allow the user to upload an image of the setting, and render a particular décor item within the image of the setting. The user may then view how the particular décor item may look in the setting.
- a décor item can be any real world object, e.g., an artwork, a painting, a picture, an image of an art, an artifact, an architectural piece, an arrangement of artworks, a color selection, a décor of a room, a rug, a mat, furnishings, clothes, jewelry, fashion, car interiors, flower arrangements, gardens.
- An image of a setting can include an image of an arrangement of the décor items, e.g., an image of a room having the décor items, an image of a car having the décor accessories, an image of clothes.
- the hand-off service provides a convenient way to share the digital assets between two or more clients seamlessly.
- a first client such as a desktop
- the server establishes a first session with the first client, e.g., when the first client accesses the server for the first time and/or the user logs into the art application.
- the user may want to determine how a particular décor item looks in a particular setting.
- the user can upload an image of the setting to the art application from a storage location that is accessible by the art application, e.g., a local storage device of the first client, a cloud storage service.
- the art application allows the user to conveniently upload the image of the setting from a second client, e.g., a smartphone.
- the user can indicate to the art application that the user would like to upload the image of the setting from the second client.
- the hand-off service of the art application can generate access information, e.g., a hyperlink, an access code, at the first client using which the user can access the art application from the second client.
- the server establishes a second session with the second client and connects the second session to the first session.
- connecting the second session to the first session includes generating a unique storage address for storing session data associated with the second session when the second client accesses the server using the access information and making the session data stored at the unique storage address available to the first session.
- the art application can automatically open the camera application on the second client inviting the user to capture an image of the setting.
- the image of the setting is automatically generated on the first client, e.g., because the first session and the second session are connected to each other.
- connecting the first and second sessions enables data associated with at least one of the sessions to be shared with another of the sessions. For example, when the user captures the image of the setting using the second client, the second client uploads the image of the setting to the server as part of the second session, which can be stored in second session data.
- the server can make the image of the setting in the second session data available to the first session, e.g., by copying the image to the first session data or by notifying the first session of the new image in the second session data.
- the server Upon receiving an update, e.g., the image of the setting, to the first session data and/or the second session data, the server automatically generates the updated image of the setting at the first client. That is, the hand-off service of the art application enables the user to conveniently upload the image of the setting to the art application at a first client from a second client, e.g., with none-to-minimum intervention from the user.
- the art application can generate the image of the particular décor item with the image of the setting. For example, the art application can superimpose or overlay the image of the particular décor item on the image of the setting.
- the art application can also facilitate transmitting the images of the décor items from the first client to the second client.
- the art application can render an image of the décor item within the image of the setting on the second client.
- the art application supports augmented reality (AR) visualization of the décor items.
- AR augmented reality
- the user can “push” the particular décor item from the first client to the second client and instantaneously view the image of the particular décor item overlaid on a live view of any desired setting.
- the art application can overlay the image of the décor item on a live view of the image of the setting generated by the second client.
- the user can point the smartphone camera to a setting, e.g., a wall of the living room, where the user intends to install the particular décor item, and the art application can overlay the image of the décor item on a live view of the wall rendered in a display screen of the smartphone.
- the hand-off service facilitates such a sharing of the images between various clients by handing-off the session from one client to another client.
- the client can be any of a desktop, a laptop, a tablet PC, a smartphone, a wearable device, etc.
- the art application can be implemented in a number of configurations.
- the art application can be implemented as online web site that can be accessed using a web browser from a client.
- the art application can have a client portion and a server portion, where the client portion can be installed at the client, e.g., as an “app,” and the server portion can be installed at the server.
- the app can be of different versions for different type of clients.
- the app can be of a first version for a desktop client, a second version for a smartphone client, etc. The user can access the art application via the web browser and/or an app on the client.
- FIG. 1 is an environment in which the disclosed embodiments can be implemented.
- the environment 100 includes a server 105 at which the art application is implemented.
- the art application can allow a user 175 to find a décor item that the user 175 thinks matches with a particular setting, e.g., a living room, a bedroom or a lobby.
- the server 105 can allow the user 175 to upload an image of the setting, e.g., setting image 140 , and render a particular décor item the user has indicated interest in with the setting image 140 at a client, e.g., a first client 110 .
- the server 105 can render the particular décor item by overlaying an image of the particular décor item, e.g., a first image 145 , on the setting image 140 .
- the user 175 may then view how the particular décor item may look in the setting.
- the art application can be implemented in a number of configurations.
- the art application can be implemented as online web site that can be accessed at the server 105 using a web browser from a client, e.g., the first client 110 .
- the art application can have a client portion and a server portion in which the client portion can be installed at the client, e.g., as an app, and the server portion can be installed at the server 105 .
- the app can be of different versions for different type of clients.
- the app can be of a first version for a desktop client, a second version for a smartphone client, etc.
- the client can be any of a desktop, a laptop, a tablet PC, a smartphone, a wearable device, etc.
- the first client 110 is a desktop and the second client 115 is a smartphone.
- the clients can access the server 105 via a communication network (not illustrated), e.g., Internet, local area network (LAN).
- the first client 110 and the second client 115 can be associated with the user 175 .
- the first client 110 and the second client 115 are associated with different users.
- the server 105 is associated with a storage system 160 , e.g., a database, that can store a variety of data.
- the storage system 160 can store user profile data of the users of the art application.
- the storage system 160 can store images of the décor items 170 that the user can view and/or purchase.
- the storage system 160 can store a variety of information that describe the décor items, e.g., manufacturer name of a décor item, an artist name of the décor item, dimensions and/or size of the décor item, colors of the décor item, an accent, visualness, a mood, a style, a theme.
- the style can be “Romantic,” or “Abstract.
- the storage system 160 can also store information regarding various merchants associated with the art application who want to sell their décor items to the users through the art application.
- the storage system 160 can be implemented as a local database or a remote database. Further, the storage system 160 can be implemented as a distributed file system.
- the server 105 can manage a client access to the art application as a session.
- a session is a semi-permanent interactive information interchange, also referred to as a dialogue, a conversation or a meeting, between two or more communicating devices, or between a computing device and a user.
- a session can be set up or established at a certain point in time, e.g., when the user 175 logs in to the art application at the server 105 , and then deleted at some later point, e.g., when the user 175 logs out of the art application, the user 175 does not perform any action in the art application for a predefined duration, the user 175 closes the web browser application from which the art application is being accessed.
- An established communication session may involve more than one communication in each direction.
- a session is typically stateful, meaning that at least one of the communicating entities may need to save information about the session history, e.g., as session data, in order to be able to communicate during the session.
- the user 175 may access the art application at the server 105 using the first client 110 , e.g., to view and/or purchase one or more décor items, e.g., art images.
- the server 105 can establish a first session 120 between the first client 110 and the server 105 or the user 175 and the server 105 .
- the server 105 can store the session data associated with the first session 120 as first session data 150 at the server 105 .
- the first session data 150 can include various information regarding the session such as user identification (ID) information of the user, the décor items accessed by the user in the first session 120 , the décor item being currently viewed by the user 175 at the first client 110 , a client ID information of the first client 110 , e.g., Internet Protocol (IP) address of the first client, a session ID of the first session 120 etc.
- the server 105 can store the first session data 150 in a local storage, e.g., random access memory (RAM) of the server 105 , or at the storage system 160 .
- RAM random access memory
- the user 175 can select a particular image of décor item, e.g., a first art image 145 , from the images of décor item 170 that the user 175 would like to view in association with a setting, e.g., a living room of the user 175 .
- the user 175 can upload the image of the setting image 140 from the first client 110 to the server 105 if the user 175 has a copy stored at the first client 110 or at any other location from which the server 105 can receive the setting image, and the server 105 can render the first art image 145 on the setting image 140 at the first client 110 .
- the user 175 can capture the image of the setting using the second client 115 and upload the setting image 140 to the server.
- the user 175 can indicate to the server 105 using the first client 110 that the user 175 intends to upload the setting image from the second client 115 .
- the server 105 generates access information 130 using which the user 175 can upload the setting image 140 to the server 105 from the second client 115 .
- the access information 130 can be a hyperlink, an access code, etc., using which the second client 115 can connect to the server 105 .
- the access information 130 can be transmitted to one or more of the first client 110 , the second client 115 or any other destination.
- the server 105 can send the access information 130 to an email ID provided by the user 175 .
- the server 105 can send the access information 130 as a text message to a telephone number, e.g., of the second client 115 , provided by the user 175 .
- the server 105 can generate the access information 130 , e.g., access code, on a display screen of the first client 110 .
- the user 175 can connect to the server 105 from the second client 115 using the access information 130 .
- the access information 130 is sent as a hyperlink to an email ID
- the user 175 can open the email in the second client 115 and click on the hyperlink, which will invoke a web browser or an app on the second client 115 and connect to the server 105 .
- the access information 130 is an access code
- the user 175 can open the art application app on the second client 115 and input the access code in the art application app.
- the user 175 can access the website of the art application using the web browser on the second client 115 and enter the access code in the website, and connect to the server 105 .
- connecting or associating the second session 135 to the first session 120 includes generating a unique storage address for storing second session data 155 , which is session data associated with the second session 135 , and making the second session data 155 stored at the unique storage address available to the first session 120 .
- the server 105 can generate the unique address when the second client 115 accesses the server 105 using the access information 130 .
- the server 105 can further automatically open the camera app in the second client 115 to allow the user 175 to capture the image of the setting.
- the second client 115 can automatically upload the setting image 140 to the server 105 .
- the uploaded setting image 140 can be stored as part of second session data 155 . Since the second session 135 and the first session 120 are connected to each other, the server 105 can make the setting image 140 available to the first session 120 , e.g., by copying the setting image 140 from the second session data 155 to the first session data 150 and/or notifying the first session 120 of an update to the second session data 155 , e.g., addition of setting image 140 .
- the server 105 may not copy the setting image 140 to the first session data 150 but notifies the first session 120 that there is new data, e.g., the setting image 140 , in the associated session, e.g., the second session 135 .
- the first session 120 then causes the server 105 to automatically generate the setting image 140 at the first client 110 with which the first session 120 is associated.
- the art application enables the user 175 to conveniently upload the setting image 140 to the art application at the first client 110 from the second client 115 , e.g., with none-to-minimum intervention from the user 175 .
- the first session 120 and the second session 135 when two sessions are associated with or connected to each other, their corresponding session data can be shared between them.
- the first session 120 can obtain access to the second session data 155
- the second session 135 can obtain access to the first session data 150 .
- the first session data 150 and the second session data 155 are synchronized with each other, e.g., any changes to session data of one session is copied to the session data of the other connected session.
- This associating of sessions of two devices with each other can enable automatic and seamless sharing of data associated with a particular device or activity performed at the particular device with the other device.
- the server 105 can associate the second session 135 to a particular session based on the access information 130 .
- the server 105 can associate the second session 135 to another session based on one or more of a session ID of the session or the user ID of the user 175 included in the access information 130 .
- the server 105 can derive the information of the session to which the second session 135 is to be associated with based on the information included in the access information 130 .
- the server 105 can generate the first art image 145 at the first client 110 in association with the setting image 140 .
- the server 105 can superimpose or overlay the first art image 145 on the setting image 140 .
- the server 105 can determine a subset of the décor items that match with the setting.
- the server 105 can determine the subset based on a match between color schemes of the décor items and the setting.
- the server 105 can use various image analysis techniques for analyzing images of décor items 170 and/or the setting image 140 to determine the color schemes of the décor items and/or the setting, respectively.
- the server 105 can use the metadata associated with the image files of décor items 170 to determine the color scheme of the décor items.
- the server 105 can also generate a color palette which the user 175 can use for changing one or more colors of the at least one of the subset of the décor items, e.g., to match with the setting.
- the server 105 can generate the color palette based on one or more attributes of the setting. For example, if the setting has a first set of colors, a color palette having colors that match with and/or is in contrast to the first set of colors can be generated.
- the server 105 can determine an appropriate color palette based on match definitions that define which colors have to be generated in the color palette based on one or more attributes of the setting, e.g., a color in the setting, a theme of the setting, a type of the setting such as office, bedroom, living room, dimensions of the setting.
- attributes of the setting e.g., a color in the setting, a theme of the setting, a type of the setting such as office, bedroom, living room, dimensions of the setting.
- the server 105 can also facilitate “pushing” one or more of the images of the décor items 170 selected by the user 175 at the first client 110 to the second client 115 .
- the server 105 can copy the image from the first session data 150 to the second session data 155 , and automatically render the first art image 145 on the second client 115 .
- the server 105 can render the pushed image of the décor item with the setting image 140 on the second client 115 .
- the server 105 can overlay the first art image 145 on the setting image 140 at the second client 115 .
- the art application supports AR visualization of the décor items.
- the user 175 when the user 175 pushes the image of the particular décor item from the first client 110 to the second client 115 , the user 175 can instantaneously view the image of the particular décor item overlaid on a live view of a setting.
- the user 175 can point the camera of the second client 115 to a setting, e.g., a wall of the living room, where the user 175 intends to install the particular décor item, and the art application can overlay the image of the particular décor item on a live view of the wall rendered in a display screen of the second client 115 .
- the association between the first session 120 and the second session 135 enables an image of the décor item that is pushed from the first client 110 to be automatically and instantaneously, e.g., in near real-time, available for rendering at the second client 115 .
- the second client 115 can receive a copy of the image of the décor item and/or a link to the image of the décor stored at the server 105 .
- the user 175 can bookmark the link, e.g., in a web browser at the second client 115 , and can open the link later, e.g., even after the first session 120 expires, to view the image overlaid on the setting image or a live of the setting.
- the user 175 may not have to depend on the first client 110 to view the image on the second client 115 .
- FIG. 2 is a block diagram of an example 200 of the hand-off service implemented in the art application, consistent with various embodiments.
- the example 200 is implemented in the environment 100 of FIG. 1 .
- the user 175 accesses the images of the décor items 170 at the server 105 using a third client 205 .
- the third client 205 is similar to the first client 110 .
- the server 105 establishes the first session 120 with the third client 205 .
- the user 175 indicates that the user 175 intends to upload the setting image from another client, e.g., the fourth client 210 .
- the fourth client 210 is similar to the second client 115 .
- the server 105 generates the access information, e.g., a link 215 , using which the user 175 can upload an image of the setting, e.g., setting image 140 , from the fourth client 210 .
- the link 215 is similar to the access information 130 .
- the user 175 can indicate to the server 105 that the user 175 prefers the access information as a link, and can also indicate that the link is to be sent to the fourth client 210 as a text message, or as an email.
- the server 105 sends the link 215 to the fourth client 210 .
- the user 175 can access the link 215 to connect to upload the image of the setting.
- the link 215 is configured to automatically invoke the camera app of the fourth client 210 when the user 175 accesses the link 215 .
- the user 175 can then point the camera of fourth client 210 to the setting 220 and capture the image of the setting 220 , e.g., as the setting image 140 .
- the fourth client 210 automatically uploads the setting image 140 to the server 105 , which then automatically renders the setting image 140 on the third client 205 . In some embodiments, this is made possible by associating the session between the server 105 and the third client 205 with the session between the server 105 and the fourth client 210 .
- the user 175 can then select a particular décor item, e.g., an art image, from the image of the décor items 170 to be viewed in association with the setting image 140 .
- a particular décor item e.g., an art image
- the user 175 can select the button “Add art” 225 to insert the selected image, e.g., first art image 145
- the server 105 can insert the first art image 145 into the setting image 140 by overlaying the first art image 145 on the setting image 140 .
- the server 105 can perform one or more auto corrections in rendering an image.
- the server 105 can perform one or more corrections on the first art image 145 relative to the setting image 140 to enhance the color/contrast realism and vibrancy of the overlaying art.
- the auto correction process can include a color correction, e.g., white balance, size correction, etc.
- the server 105 can perform a color correction on the first art image 145 relative to the setting image 140 .
- the server 105 can perform a size correction on the first art image 145 so that the first art image 145 is proportionally scaled, e.g., the dimensions of the art image are proportional, to the setting.
- the server 105 can determine the color correction factor and/or the size correction factor to be applied to the first art image 145 based on an object, e.g., a marker object 230 , in the setting 220 of known color and size, e.g., dimensions.
- the marker object 230 is a plain white paper of size A4 or any known and common paper size.
- the server 105 calculates the color correction factor based on the known color values (e.g., RGB values) of the paper and the color values of the paper in the setting image 140 .
- the server 105 calculates the size correction factor based on the known dimensions of the paper and the dimensions of the paper in the setting image 140 .
- the server 105 then performs the corrections on the first art image 145 based on the determined correction factors.
- the server 105 can also perform the corrections on the setting image 140 .
- FIG. 3 is a block diagram of an example 300 of the hand-off service implemented in the art application, consistent with various embodiments.
- the example 300 is implemented in the environment 100 of FIG. 1 .
- the server 105 can overlay an image of the décor item, e.g., the first art image 145 , on a live view 235 of a setting 220 in the fourth client 210 .
- the first art image 145 can be an image that is stored at the fourth client 210 , be an image that is “pushed” to the fourth client 210 from the third client 205 , or generated by the server 105 based on the information of the first art image 145 , e.g., a hyperlink, that is pushed to the fourth client 210 .
- the fourth client 210 when the user 175 accesses the link 215 on the fourth client 210 , the fourth client 210 connects to the server 105 and the server 105 establishes a session with the fourth client 210 and connects the session with a session between the server 105 and the third client 205 .
- the server 105 can also automatically invoke the camera app of the fourth client 210 to open the camera.
- the third client 205 pushes an image, e.g., the first art image 145
- the fourth client 210 automatically overlays the first art image 145 on the live view 235 of a setting, e.g., the setting 220 , the camera of the fourth client 210 is pointed at.
- the fourth client 210 may indicate to the user 175 that the fourth client 210 has received an image, and prompt the user 175 to indicate whether to display the image.
- the third client 205 can push information regarding the first art image 145 , e.g., a hyperlink, to the fourth client 210 .
- the fourth client 210 can retrieve the first art image 145 using the hyperlink and have the first art image 145 overlaid on the live view 235 of the setting 220 .
- the fourth client 210 can retrieve the first art image 145 using the hyperlink at any time, e.g., even after the third client 205 has disconnected from the server 105 or the session between the third client 205 and the server 105 has expired.
- the server 105 can also perform the auto correction process on rendering the images in the fourth client 210 .
- FIG. 4 is a block diagram of the server of FIG. 1 , consistent with various embodiments.
- the server 105 can be implemented as a stand-alone computer, or as a distributed system in which various modules of the server 105 are distributed over various entities in the environment 100 .
- a specified module of the server 105 can be implemented in more than one entity in the environment 100 .
- different portions of a specified module of the server 105 can be implemented in different entities in the environment 100 .
- the server 105 includes a session module 405 that can be configured to set up and manage sessions at the server 105 with a client, e.g., the first client 110 , the second client 115 , and/or a user, e.g., the user 175 .
- the server 105 includes an access information module 410 that can be configured to generate the access information 130 .
- the server 105 includes an image request-processing module 415 that can be configured to manage requests for retrieving images of décor items 170 , selecting the first art image 145 , pushing the images between the clients, uploading the setting image to the server 105 , etc.
- the server 105 includes an image rendering module 420 that can be configured to render images, e.g., the setting image 140 , the first art image 145 , on the client, e.g., the first client 110 , the second client 115 .
- the various modules of the server 105 perform their corresponding functions as described at least with reference to FIGS. 1-3 . Additional details with respect to the functionalities of the above modules are described at least with reference to FIGS. 5 and 6 , and the following paragraphs.
- FIG. 5 is a flow diagram of a process 500 for handing-off a session between the server and a client to another client, consistent with various embodiments.
- the process 500 can be implemented in the environment 100 of FIG. 1 .
- the session module 405 establishes a first online session 120 between the server 105 and the first client 110 .
- the server 105 establishes the first online session 120 when the user 175 logs into the art application at the server 105 .
- the user 175 may access art images of the art application using the first client 110 .
- the server 105 may record the user activity performed during the first online session 120 as part of the first session data 150 .
- the image request-processing module 415 receives a request from the first client 110 for uploading an image of a setting, e.g., setting 220 of FIG. 2 , to the server 105 from the second client 115 .
- the access information module 410 generates the access information 130 in the first online session 120 , which is to be used at the second client 115 for connecting to the art application.
- the access information 130 can be a hyperlink, an access code, etc., that can be used at the second client for connecting the second client 115 to the server 105 .
- the session module 405 generates a second online session 135 between the server 105 and the second client 115 using the access information.
- the session module 405 also connects the second online session 135 to the first online session 120 .
- connecting two sessions can include sharing session data of at least one of the two sessions with another of the two sessions.
- connecting the second session 135 to the first session 120 includes generating a unique storage address for storing the second session data 155 when the second client 115 accesses the server 105 using the access information 130 and making the second session data 155 stored at the unique storage address available to the first session 120 .
- the session data may be shared without an intervention from the user. For example, an activity performed by the user in the second client 115 may be automatically shared with the first client 110 without any or minimum intervention from the user.
- the image request-processing module 415 can automatically activate the camera of the second client 115 , e.g., by opening the camera app of the second client 115 .
- the user 175 may then capture an image of the setting 220 , e.g., as setting image 140 .
- the image request-processing module 415 receives an image of the setting, e.g., setting image 140 , from the second client 115 .
- the image request-processing module 415 may store the setting image 140 as part of the second session data 155 , which is session data associated with the second online session 135 .
- the session module 405 shares the setting image 140 received from the second online session 135 with the first online session 120 automatically.
- the session module 405 can copy the setting image 140 from the second session data 155 to the first session data 150 and/or notify the first online session 120 of the addition of the setting image 140 to the second session data 155 and make the second session data 155 accessible to the first online session 120 .
- the image rendering module 420 generates the setting image 140 , which is received from the second online session 135 that is connected to the first online session 120 , at the first client 110 in the first online session 120 automatically.
- the image rendering module 420 can render a user selected art image, e.g., the first art image 145 , with the setting image 140 .
- the image rendering module 420 renders both the images by overlaying the first art image 145 on the setting image 140 .
- the image rendering module 420 can also perform the auto correction process in rendering the images at the first client 110 .
- FIG. 6 is a flow diagram of a process 600 for handing-off a session between the server and a client to another client, consistent with various embodiments.
- the process 600 can be implemented in the environment 100 of FIG. 1 .
- the session module 405 establishes a first online session 120 between the server 105 and the first client 110 .
- the server 105 establishes the first online session 120 when the user 175 logs into the art application at the server 105 .
- the user 175 may access art images of the art application using the first client 110 .
- the server 105 may record the user activity performed during the first online session 120 as part of the first session data 150 .
- the session module 405 receives a request from the first client 110 for starting a second online session for the second client 115 .
- the access information module 410 generates the access information 130 in the first online session 120 , which is to be used at the second client 115 for connecting to the art application.
- the access information 130 can be a hyperlink, an access code, etc., that can be used at the second client for connecting the second client 115 to the server 105 .
- the session module 405 generates a second online session 135 between the server 105 and the second client 115 using the access information.
- the session module 405 also connects the second online session 135 to the first online session 120 .
- the image request-processing module 415 can automatically activate the camera of the second client 115 , e.g., by opening the camera app of the second client 115 .
- the image request-processing module 415 receives a user selection of an image of a décor item, e.g., the first art image 145 , from the first client 110 in the first online session 120 for the first art image 145 to be pushed to the second client 115 .
- a décor item e.g., the first art image 145
- the session module 405 can push the first art image 145 to the second client 115 by sharing the first art image 145 with the second online session 135 .
- the image rendering module 420 can render the first art image 145 at the second client 115 in the second online session 135 .
- the image rendering module 420 can render the first art image 145 with the setting image 140 and/or a live view of the setting 220 , e.g., at least as described with reference to FIG. 3 .
- the image rendering module 420 can also perform the auto correction process in rendering the images at the second client 115 .
- FIG. 7 is a block diagram of a computer system as may be used to implement features of the disclosed embodiments.
- the computing system 700 may be used to implement any of the entities, components or services depicted in the examples of the foregoing figures (and any other components and/or modules described in this specification).
- the computing system 700 may include one or more central processing units (“processors”) 705 , memory 710 , input/output devices 725 (e.g., keyboard and pointing devices, display devices), storage devices 720 (e.g., disk drives), and network adapters 730 (e.g., network interfaces) that are connected to an interconnect 715 .
- processors central processing units
- the interconnect 715 is illustrated as an abstraction that represents any one or more separate physical buses, point to point connections, or both connected by appropriate bridges, adapters, or controllers.
- the interconnect 715 may include, for example, a system bus, a Peripheral Component Interconnect (PCI) bus or PCI-Express bus, a HyperTransport or industry standard architecture (ISA) bus, a small computer system interface (SCSI) bus, a universal serial bus (USB), IIC (I2C) bus, or an Institute of Electrical and Electronics Engineers (IEEE) standard 1394 bus, also called “Firewire”.
- PCI Peripheral Component Interconnect
- ISA HyperTransport or industry standard architecture
- SCSI small computer system interface
- USB universal serial bus
- I2C IIC
- IEEE Institute of Electrical and Electronics Engineers
- the memory 710 and storage devices 720 are computer-readable storage media that may store instructions that implement at least portions of the described embodiments.
- the data structures and message structures may be stored or transmitted via a data transmission medium, such as a signal on a communications link.
- Various communications links may be used, such as the Internet, a local area network, a wide area network, or a point-to-point dial-up connection.
- computer readable media can include computer-readable storage media (e.g., “non transitory” media) and computer-readable transmission media.
- the instructions stored in memory 710 can be implemented as software and/or firmware to program the processor(s) 705 to carry out actions described above.
- such software or firmware may be initially provided to the processing system 700 by downloading it from a remote system through the computing system 700 (e.g., via network adapter 730 ).
- programmable circuitry e.g., one or more microprocessors
- special-purpose hardwired circuitry may be in the form of, for example, one or more ASICs, PLDs, FPGAs, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
Abstract
Description
- This application is a continuation of application Ser. No. 14/964,513 filed Dec. 9, 2015, which is hereby fully incorporated herein by reference.
- Current tools for finding digital assets, e.g., décor items such as an art, rugs, decorating paint, furnishings, fashion, an image of an artwork, etc. are typically naive. They do not address the problem of finding different décor items that match or harmonize to a particular required style or to a particular setting, e.g., a living room of a particular person. Some tools enable a user to determine whether a particular décor item matches the décor of the room. The tools typically require the user to upload an image of the setting, e.g., an image of the living room, in which the particular décor item may be installed. The user can place the image of the particular décor item on the image of the setting and determine whether the user likes the particular décor item.
- One of the problems with such tools is that the process of uploading the image of the setting is inconvenient. For example, consider that the user is using a computing device such as a desktop, to browse through a set of décor items presented by an art application, e.g., implemented as online website, and the user wants to determine how a particular décor item looks in his/her room. To upload the image of the room to the art application, the user may need the image of the room stored at the desktop, or at some other location, e.g., a cloud storage service, from which the user can upload. If the user does not have the image of the room stored at an accessible location, the user may not be able to upload the image. Further, the desktop may not have a camera for the user to capture the image of the room, or even if the desktop has a camera, it may not be convenient to take a picture of the room using the desktop's camera.
- One of the alternatives is to capture the image of the setting using a mobile computing device such as a “smartphone” and transfer the image from the smartphone to the desktop. The user can transfer the image to the desktop using various means, or upload the image to the cloud storage service from the smartphone first and then download it to the desktop, and upload the image from the desktop to the art application. The above process of uploading the image of the setting to the art application is time-consuming, laborious and inconvenient.
- One or more embodiments of the disclosed techniques are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements.
-
FIG. 1 is an environment in which the disclosed embodiments can be implemented. -
FIG. 2 is a block diagram of an example of the hand-off service implemented in the art application, consistent with various embodiments. -
FIG. 3 is a block diagram of another example of the hand-off service implemented in the art application, consistent with various embodiments. -
FIG. 4 is a block diagram of the server ofFIG. 1 , consistent with various embodiments. -
FIG. 5 is a flow diagram of a process for handing-off a session between the server and a client to another client, consistent with various embodiments. -
FIG. 6 is a flow diagram of another process for handing-off a session between the server and a client to another client, consistent with various embodiments. -
FIG. 7 is a block diagram of a processing system that can implement operations of the disclosed embodiments. - Disclosed here are embodiments for a hand-off service that enables sharing session data of an online session between a server computing device (“server”) and a client computing device (“client”) seamlessly with one or more additional clients. The hand-off service can be implemented in applications for transmitting digital assets between clients seamlessly. A digital asset can be a multimedia file, e.g., an image file, a video file, an audio file, a computer generated imagery (CGI) file. For example, the hand-off service can be implemented in an art application that is used for finding digital assets such as décor items (or, at least in some cases, a digital representation of a décor item). The art application can enable a user to find a décor item that the user thinks matches with a particular setting, e.g., a living room, a bedroom or a lobby. The art application can allow the user to upload an image of the setting, and render a particular décor item within the image of the setting. The user may then view how the particular décor item may look in the setting.
- A décor item can be any real world object, e.g., an artwork, a painting, a picture, an image of an art, an artifact, an architectural piece, an arrangement of artworks, a color selection, a décor of a room, a rug, a mat, furnishings, clothes, jewelry, fashion, car interiors, flower arrangements, gardens. An image of a setting can include an image of an arrangement of the décor items, e.g., an image of a room having the décor items, an image of a car having the décor accessories, an image of clothes.
- The hand-off service provides a convenient way to share the digital assets between two or more clients seamlessly. For example, consider that the user is using a first client such as a desktop, to browse through a set of décor items presented by the art application, e.g., implemented as online website at a server. Further, consider that the server establishes a first session with the first client, e.g., when the first client accesses the server for the first time and/or the user logs into the art application. The user may want to determine how a particular décor item looks in a particular setting. The user can upload an image of the setting to the art application from a storage location that is accessible by the art application, e.g., a local storage device of the first client, a cloud storage service. If the user does not have the image of the setting stored at an accessible location, the art application allows the user to conveniently upload the image of the setting from a second client, e.g., a smartphone. The user can indicate to the art application that the user would like to upload the image of the setting from the second client. The hand-off service of the art application can generate access information, e.g., a hyperlink, an access code, at the first client using which the user can access the art application from the second client. When the user accesses the art application from the second client using the access information, the server establishes a second session with the second client and connects the second session to the first session. In some embodiments, connecting the second session to the first session includes generating a unique storage address for storing session data associated with the second session when the second client accesses the server using the access information and making the session data stored at the unique storage address available to the first session.
- Further, upon accessing the server using the access information from the second client, the art application can automatically open the camera application on the second client inviting the user to capture an image of the setting. After the user captures the image of the setting, the image of the setting is automatically generated on the first client, e.g., because the first session and the second session are connected to each other. In some embodiments, connecting the first and second sessions enables data associated with at least one of the sessions to be shared with another of the sessions. For example, when the user captures the image of the setting using the second client, the second client uploads the image of the setting to the server as part of the second session, which can be stored in second session data. Since the second session is connected to the first session, the server can make the image of the setting in the second session data available to the first session, e.g., by copying the image to the first session data or by notifying the first session of the new image in the second session data. Upon receiving an update, e.g., the image of the setting, to the first session data and/or the second session data, the server automatically generates the updated image of the setting at the first client. That is, the hand-off service of the art application enables the user to conveniently upload the image of the setting to the art application at a first client from a second client, e.g., with none-to-minimum intervention from the user.
- After the art application renders the image of the setting on the first client, the art application can generate the image of the particular décor item with the image of the setting. For example, the art application can superimpose or overlay the image of the particular décor item on the image of the setting. In some embodiments, the art application can also facilitate transmitting the images of the décor items from the first client to the second client. The art application can render an image of the décor item within the image of the setting on the second client. In some embodiments, the art application supports augmented reality (AR) visualization of the décor items. In some embodiments, the user can “push” the particular décor item from the first client to the second client and instantaneously view the image of the particular décor item overlaid on a live view of any desired setting. The art application can overlay the image of the décor item on a live view of the image of the setting generated by the second client. For example, the user can point the smartphone camera to a setting, e.g., a wall of the living room, where the user intends to install the particular décor item, and the art application can overlay the image of the décor item on a live view of the wall rendered in a display screen of the smartphone. The hand-off service facilitates such a sharing of the images between various clients by handing-off the session from one client to another client.
- The client can be any of a desktop, a laptop, a tablet PC, a smartphone, a wearable device, etc. The art application can be implemented in a number of configurations. For example, the art application can be implemented as online web site that can be accessed using a web browser from a client. In another example, the art application can have a client portion and a server portion, where the client portion can be installed at the client, e.g., as an “app,” and the server portion can be installed at the server. Further, the app can be of different versions for different type of clients. For example, the app can be of a first version for a desktop client, a second version for a smartphone client, etc. The user can access the art application via the web browser and/or an app on the client.
- Turning now to the figures,
FIG. 1 is an environment in which the disclosed embodiments can be implemented. Theenvironment 100 includes aserver 105 at which the art application is implemented. The art application can allow auser 175 to find a décor item that theuser 175 thinks matches with a particular setting, e.g., a living room, a bedroom or a lobby. Theserver 105 can allow theuser 175 to upload an image of the setting, e.g., settingimage 140, and render a particular décor item the user has indicated interest in with the settingimage 140 at a client, e.g., afirst client 110. For example, theserver 105 can render the particular décor item by overlaying an image of the particular décor item, e.g., afirst image 145, on thesetting image 140. Theuser 175 may then view how the particular décor item may look in the setting. - As described above, the art application can be implemented in a number of configurations. For example, the art application can be implemented as online web site that can be accessed at the
server 105 using a web browser from a client, e.g., thefirst client 110. In another example, the art application can have a client portion and a server portion in which the client portion can be installed at the client, e.g., as an app, and the server portion can be installed at theserver 105. Further, the app can be of different versions for different type of clients. For example, the app can be of a first version for a desktop client, a second version for a smartphone client, etc. - The client can be any of a desktop, a laptop, a tablet PC, a smartphone, a wearable device, etc. In some embodiments, the
first client 110 is a desktop and thesecond client 115 is a smartphone. The clients can access theserver 105 via a communication network (not illustrated), e.g., Internet, local area network (LAN). Thefirst client 110 and thesecond client 115 can be associated with theuser 175. In some embodiments, thefirst client 110 and thesecond client 115 are associated with different users. - The
server 105 is associated with astorage system 160, e.g., a database, that can store a variety of data. For example, thestorage system 160 can store user profile data of the users of the art application. Thestorage system 160 can store images of thedécor items 170 that the user can view and/or purchase. Thestorage system 160 can store a variety of information that describe the décor items, e.g., manufacturer name of a décor item, an artist name of the décor item, dimensions and/or size of the décor item, colors of the décor item, an accent, visualness, a mood, a style, a theme. For example, the style can be “Romantic,” or “Abstract. Thestorage system 160 can also store information regarding various merchants associated with the art application who want to sell their décor items to the users through the art application. Thestorage system 160 can be implemented as a local database or a remote database. Further, thestorage system 160 can be implemented as a distributed file system. - The
server 105 can manage a client access to the art application as a session. In some embodiments, a session is a semi-permanent interactive information interchange, also referred to as a dialogue, a conversation or a meeting, between two or more communicating devices, or between a computing device and a user. A session can be set up or established at a certain point in time, e.g., when theuser 175 logs in to the art application at theserver 105, and then deleted at some later point, e.g., when theuser 175 logs out of the art application, theuser 175 does not perform any action in the art application for a predefined duration, theuser 175 closes the web browser application from which the art application is being accessed. An established communication session may involve more than one communication in each direction. A session is typically stateful, meaning that at least one of the communicating entities may need to save information about the session history, e.g., as session data, in order to be able to communicate during the session. - The
user 175 may access the art application at theserver 105 using thefirst client 110, e.g., to view and/or purchase one or more décor items, e.g., art images. Theserver 105 can establish afirst session 120 between thefirst client 110 and theserver 105 or theuser 175 and theserver 105. In some embodiments, theserver 105 can store the session data associated with thefirst session 120 asfirst session data 150 at theserver 105. Thefirst session data 150 can include various information regarding the session such as user identification (ID) information of the user, the décor items accessed by the user in thefirst session 120, the décor item being currently viewed by theuser 175 at thefirst client 110, a client ID information of thefirst client 110, e.g., Internet Protocol (IP) address of the first client, a session ID of thefirst session 120 etc. Theserver 105 can store thefirst session data 150 in a local storage, e.g., random access memory (RAM) of theserver 105, or at thestorage system 160. - The
user 175 can select a particular image of décor item, e.g., afirst art image 145, from the images ofdécor item 170 that theuser 175 would like to view in association with a setting, e.g., a living room of theuser 175. Theuser 175 can upload the image of the settingimage 140 from thefirst client 110 to theserver 105 if theuser 175 has a copy stored at thefirst client 110 or at any other location from which theserver 105 can receive the setting image, and theserver 105 can render thefirst art image 145 on thesetting image 140 at thefirst client 110. - If the
user 175 does not a have a copy of the settingimage 140 at any of the locations accessible by theserver 105, in some embodiments, theuser 175 can capture the image of the setting using thesecond client 115 and upload thesetting image 140 to the server. For example, theuser 175 can indicate to theserver 105 using thefirst client 110 that theuser 175 intends to upload the setting image from thesecond client 115. Theserver 105 generatesaccess information 130 using which theuser 175 can upload thesetting image 140 to theserver 105 from thesecond client 115. Theaccess information 130 can be a hyperlink, an access code, etc., using which thesecond client 115 can connect to theserver 105. In some embodiments, theaccess information 130 can be transmitted to one or more of thefirst client 110, thesecond client 115 or any other destination. For example, theserver 105 can send theaccess information 130 to an email ID provided by theuser 175. In another example, theserver 105 can send theaccess information 130 as a text message to a telephone number, e.g., of thesecond client 115, provided by theuser 175. In yet another example, theserver 105 can generate theaccess information 130, e.g., access code, on a display screen of thefirst client 110. - The
user 175 can connect to theserver 105 from thesecond client 115 using theaccess information 130. For example, if theaccess information 130 is sent as a hyperlink to an email ID, theuser 175 can open the email in thesecond client 115 and click on the hyperlink, which will invoke a web browser or an app on thesecond client 115 and connect to theserver 105. In another example, if theaccess information 130 is an access code, theuser 175 can open the art application app on thesecond client 115 and input the access code in the art application app. In yet another example, theuser 175 can access the website of the art application using the web browser on thesecond client 115 and enter the access code in the website, and connect to theserver 105. - When the
second client 115 connects to theserver 105 using theaccess information 130, theserver 105 initiates asecond session 135 with thesecond client 115 and associates thesecond session 135 with thefirst session 120. In some embodiments, connecting or associating thesecond session 135 to thefirst session 120 includes generating a unique storage address for storingsecond session data 155, which is session data associated with thesecond session 135, and making thesecond session data 155 stored at the unique storage address available to thefirst session 120. Theserver 105 can generate the unique address when thesecond client 115 accesses theserver 105 using theaccess information 130. Theserver 105 can further automatically open the camera app in thesecond client 115 to allow theuser 175 to capture the image of the setting. After theuser 175 captures the image of the setting, e.g., the settingimage 140, thesecond client 115 can automatically upload thesetting image 140 to theserver 105. The uploadedsetting image 140 can be stored as part ofsecond session data 155. Since thesecond session 135 and thefirst session 120 are connected to each other, theserver 105 can make thesetting image 140 available to thefirst session 120, e.g., by copying the settingimage 140 from thesecond session data 155 to thefirst session data 150 and/or notifying thefirst session 120 of an update to thesecond session data 155, e.g., addition of settingimage 140. In some embodiments, theserver 105 may not copy thesetting image 140 to thefirst session data 150 but notifies thefirst session 120 that there is new data, e.g., the settingimage 140, in the associated session, e.g., thesecond session 135. Thefirst session 120 then causes theserver 105 to automatically generate thesetting image 140 at thefirst client 110 with which thefirst session 120 is associated. Thus, the art application enables theuser 175 to conveniently upload thesetting image 140 to the art application at thefirst client 110 from thesecond client 115, e.g., with none-to-minimum intervention from theuser 175. - Referring back to associating the
first session 120 and thesecond session 135 with each other, in some embodiments, when two sessions are associated with or connected to each other, their corresponding session data can be shared between them. For example, thefirst session 120 can obtain access to thesecond session data 155, and similarly, thesecond session 135 can obtain access to thefirst session data 150. In another example, thefirst session data 150 and thesecond session data 155 are synchronized with each other, e.g., any changes to session data of one session is copied to the session data of the other connected session. This associating of sessions of two devices with each other can enable automatic and seamless sharing of data associated with a particular device or activity performed at the particular device with the other device. - The
server 105 can associate thesecond session 135 to a particular session based on theaccess information 130. For example, theserver 105 can associate thesecond session 135 to another session based on one or more of a session ID of the session or the user ID of theuser 175 included in theaccess information 130. In another example, theserver 105 can derive the information of the session to which thesecond session 135 is to be associated with based on the information included in theaccess information 130. - Referring back to rendering the
setting image 140 at thefirst client 110, theserver 105 can generate thefirst art image 145 at thefirst client 110 in association with the settingimage 140. For example, theserver 105 can superimpose or overlay thefirst art image 145 on thesetting image 140. In some embodiments, theserver 105 can determine a subset of the décor items that match with the setting. For example, theserver 105 can determine the subset based on a match between color schemes of the décor items and the setting. Theserver 105 can use various image analysis techniques for analyzing images ofdécor items 170 and/or thesetting image 140 to determine the color schemes of the décor items and/or the setting, respectively. In some embodiments, theserver 105 can use the metadata associated with the image files ofdécor items 170 to determine the color scheme of the décor items. - In some embodiments, the
server 105 can also generate a color palette which theuser 175 can use for changing one or more colors of the at least one of the subset of the décor items, e.g., to match with the setting. Theserver 105 can generate the color palette based on one or more attributes of the setting. For example, if the setting has a first set of colors, a color palette having colors that match with and/or is in contrast to the first set of colors can be generated. Theserver 105 can determine an appropriate color palette based on match definitions that define which colors have to be generated in the color palette based on one or more attributes of the setting, e.g., a color in the setting, a theme of the setting, a type of the setting such as office, bedroom, living room, dimensions of the setting. - In some embodiments, the
server 105 can also facilitate “pushing” one or more of the images of thedécor items 170 selected by theuser 175 at thefirst client 110 to thesecond client 115. When theuser 175 pushes an image of the décor item, e.g., thefirst art image 145, from thefirst client 110, theserver 105 can copy the image from thefirst session data 150 to thesecond session data 155, and automatically render thefirst art image 145 on thesecond client 115. Theserver 105 can render the pushed image of the décor item with the settingimage 140 on thesecond client 115. For example, theserver 105 can overlay thefirst art image 145 on thesetting image 140 at thesecond client 115. - In some embodiments, the art application supports AR visualization of the décor items. In some embodiments, when the
user 175 pushes the image of the particular décor item from thefirst client 110 to thesecond client 115, theuser 175 can instantaneously view the image of the particular décor item overlaid on a live view of a setting. For example, theuser 175 can point the camera of thesecond client 115 to a setting, e.g., a wall of the living room, where theuser 175 intends to install the particular décor item, and the art application can overlay the image of the particular décor item on a live view of the wall rendered in a display screen of thesecond client 115. In some embodiments, the association between thefirst session 120 and thesecond session 135 enables an image of the décor item that is pushed from thefirst client 110 to be automatically and instantaneously, e.g., in near real-time, available for rendering at thesecond client 115. - When the image of the décor item is pushed from the
first client 110 to thesecond client 115, thesecond client 115 can receive a copy of the image of the décor item and/or a link to the image of the décor stored at theserver 105. Theuser 175 can bookmark the link, e.g., in a web browser at thesecond client 115, and can open the link later, e.g., even after thefirst session 120 expires, to view the image overlaid on the setting image or a live of the setting. Theuser 175 may not have to depend on thefirst client 110 to view the image on thesecond client 115. -
FIG. 2 is a block diagram of an example 200 of the hand-off service implemented in the art application, consistent with various embodiments. In some embodiments, the example 200 is implemented in theenvironment 100 ofFIG. 1 . In the example 200, theuser 175 accesses the images of thedécor items 170 at theserver 105 using athird client 205. In some embodiments, thethird client 205 is similar to thefirst client 110. Theserver 105 establishes thefirst session 120 with thethird client 205. Theuser 175 indicates that theuser 175 intends to upload the setting image from another client, e.g., thefourth client 210. In some embodiments, thefourth client 210 is similar to thesecond client 115. Theserver 105 generates the access information, e.g., alink 215, using which theuser 175 can upload an image of the setting, e.g., settingimage 140, from thefourth client 210. In some embodiments, thelink 215 is similar to theaccess information 130. Theuser 175 can indicate to theserver 105 that theuser 175 prefers the access information as a link, and can also indicate that the link is to be sent to thefourth client 210 as a text message, or as an email. Theserver 105 sends thelink 215 to thefourth client 210. - The
user 175 can access thelink 215 to connect to upload the image of the setting. In some embodiments, thelink 215 is configured to automatically invoke the camera app of thefourth client 210 when theuser 175 accesses thelink 215. Theuser 175 can then point the camera offourth client 210 to the setting 220 and capture the image of the setting 220, e.g., as the settingimage 140. After thesetting image 140 is captured, thefourth client 210 automatically uploads thesetting image 140 to theserver 105, which then automatically renders the settingimage 140 on thethird client 205. In some embodiments, this is made possible by associating the session between theserver 105 and thethird client 205 with the session between theserver 105 and thefourth client 210. - The
user 175 can then select a particular décor item, e.g., an art image, from the image of thedécor items 170 to be viewed in association with the settingimage 140. For example, theuser 175 can select the button “Add art” 225 to insert the selected image, e.g.,first art image 145, and theserver 105 can insert thefirst art image 145 into the settingimage 140 by overlaying thefirst art image 145 on thesetting image 140. - In some embodiments, the
server 105 can perform one or more auto corrections in rendering an image. For example, theserver 105 can perform one or more corrections on thefirst art image 145 relative to thesetting image 140 to enhance the color/contrast realism and vibrancy of the overlaying art. The auto correction process can include a color correction, e.g., white balance, size correction, etc. For example, theserver 105 can perform a color correction on thefirst art image 145 relative to thesetting image 140. In another example, theserver 105 can perform a size correction on thefirst art image 145 so that thefirst art image 145 is proportionally scaled, e.g., the dimensions of the art image are proportional, to the setting. Theserver 105 can determine the color correction factor and/or the size correction factor to be applied to thefirst art image 145 based on an object, e.g., a marker object 230, in the setting 220 of known color and size, e.g., dimensions. In some embodiments, the marker object 230 is a plain white paper of size A4 or any known and common paper size. Theserver 105 calculates the color correction factor based on the known color values (e.g., RGB values) of the paper and the color values of the paper in thesetting image 140. Similarly, theserver 105 calculates the size correction factor based on the known dimensions of the paper and the dimensions of the paper in thesetting image 140. Theserver 105 then performs the corrections on thefirst art image 145 based on the determined correction factors. In some embodiments, theserver 105 can also perform the corrections on thesetting image 140. -
FIG. 3 is a block diagram of an example 300 of the hand-off service implemented in the art application, consistent with various embodiments. In some embodiments, the example 300 is implemented in theenvironment 100 ofFIG. 1 . In the example 300, theserver 105 can overlay an image of the décor item, e.g., thefirst art image 145, on alive view 235 of a setting 220 in thefourth client 210. Thefirst art image 145 can be an image that is stored at thefourth client 210, be an image that is “pushed” to thefourth client 210 from thethird client 205, or generated by theserver 105 based on the information of thefirst art image 145, e.g., a hyperlink, that is pushed to thefourth client 210. - As described at least with reference to
FIG. 2 , when theuser 175 accesses thelink 215 on thefourth client 210, thefourth client 210 connects to theserver 105 and theserver 105 establishes a session with thefourth client 210 and connects the session with a session between theserver 105 and thethird client 205. Theserver 105 can also automatically invoke the camera app of thefourth client 210 to open the camera. When thethird client 205 pushes an image, e.g., thefirst art image 145, to thefourth client 210, thefourth client 210 automatically overlays thefirst art image 145 on thelive view 235 of a setting, e.g., the setting 220, the camera of thefourth client 210 is pointed at. In some embodiments, thefourth client 210 may indicate to theuser 175 that thefourth client 210 has received an image, and prompt theuser 175 to indicate whether to display the image. - In some embodiments, the
third client 205 can push information regarding thefirst art image 145, e.g., a hyperlink, to thefourth client 210. Thefourth client 210 can retrieve thefirst art image 145 using the hyperlink and have thefirst art image 145 overlaid on thelive view 235 of the setting 220. In some embodiments, thefourth client 210 can retrieve thefirst art image 145 using the hyperlink at any time, e.g., even after thethird client 205 has disconnected from theserver 105 or the session between thethird client 205 and theserver 105 has expired. Theserver 105 can also perform the auto correction process on rendering the images in thefourth client 210. -
FIG. 4 is a block diagram of the server ofFIG. 1 , consistent with various embodiments. Theserver 105 can be implemented as a stand-alone computer, or as a distributed system in which various modules of theserver 105 are distributed over various entities in theenvironment 100. In some embodiments, a specified module of theserver 105 can be implemented in more than one entity in theenvironment 100. In some embodiments, different portions of a specified module of theserver 105 can be implemented in different entities in theenvironment 100. - The
server 105 includes asession module 405 that can be configured to set up and manage sessions at theserver 105 with a client, e.g., thefirst client 110, thesecond client 115, and/or a user, e.g., theuser 175. Theserver 105 includes anaccess information module 410 that can be configured to generate theaccess information 130. Theserver 105 includes an image request-processing module 415 that can be configured to manage requests for retrieving images ofdécor items 170, selecting thefirst art image 145, pushing the images between the clients, uploading the setting image to theserver 105, etc. Theserver 105 includes animage rendering module 420 that can be configured to render images, e.g., the settingimage 140, thefirst art image 145, on the client, e.g., thefirst client 110, thesecond client 115. In some embodiments, the various modules of theserver 105 perform their corresponding functions as described at least with reference toFIGS. 1-3 . Additional details with respect to the functionalities of the above modules are described at least with reference toFIGS. 5 and 6 , and the following paragraphs. -
FIG. 5 is a flow diagram of aprocess 500 for handing-off a session between the server and a client to another client, consistent with various embodiments. In some embodiments, theprocess 500 can be implemented in theenvironment 100 ofFIG. 1 . Atblock 505, thesession module 405 establishes a firstonline session 120 between theserver 105 and thefirst client 110. In some embodiments, theserver 105 establishes the firstonline session 120 when theuser 175 logs into the art application at theserver 105. Theuser 175 may access art images of the art application using thefirst client 110. Theserver 105 may record the user activity performed during the firstonline session 120 as part of thefirst session data 150. - At
block 510, the image request-processing module 415 receives a request from thefirst client 110 for uploading an image of a setting, e.g., setting 220 ofFIG. 2 , to theserver 105 from thesecond client 115. - At
block 515, theaccess information module 410 generates theaccess information 130 in the firstonline session 120, which is to be used at thesecond client 115 for connecting to the art application. Theaccess information 130 can be a hyperlink, an access code, etc., that can be used at the second client for connecting thesecond client 115 to theserver 105. - At
block 520, thesession module 405 generates a secondonline session 135 between theserver 105 and thesecond client 115 using the access information. Thesession module 405 also connects the secondonline session 135 to the firstonline session 120. In some embodiments, connecting two sessions can include sharing session data of at least one of the two sessions with another of the two sessions. In some embodiments, connecting thesecond session 135 to thefirst session 120 includes generating a unique storage address for storing thesecond session data 155 when thesecond client 115 accesses theserver 105 using theaccess information 130 and making thesecond session data 155 stored at the unique storage address available to thefirst session 120. The session data may be shared without an intervention from the user. For example, an activity performed by the user in thesecond client 115 may be automatically shared with thefirst client 110 without any or minimum intervention from the user. - After the second
online session 135 is generated, the image request-processing module 415 can automatically activate the camera of thesecond client 115, e.g., by opening the camera app of thesecond client 115. Theuser 175 may then capture an image of the setting 220, e.g., as settingimage 140. - At
block 525, the image request-processing module 415 receives an image of the setting, e.g., settingimage 140, from thesecond client 115. The image request-processing module 415 may store thesetting image 140 as part of thesecond session data 155, which is session data associated with the secondonline session 135. - At
block 530, thesession module 405 shares the settingimage 140 received from the secondonline session 135 with the firstonline session 120 automatically. For example, thesession module 405 can copy thesetting image 140 from thesecond session data 155 to thefirst session data 150 and/or notify the firstonline session 120 of the addition of the settingimage 140 to thesecond session data 155 and make thesecond session data 155 accessible to the firstonline session 120. - At
block 535, theimage rendering module 420 generates the settingimage 140, which is received from the secondonline session 135 that is connected to the firstonline session 120, at thefirst client 110 in the firstonline session 120 automatically. - At
block 540, theimage rendering module 420 can render a user selected art image, e.g., thefirst art image 145, with the settingimage 140. In some embodiments, theimage rendering module 420 renders both the images by overlaying thefirst art image 145 on thesetting image 140. Theimage rendering module 420 can also perform the auto correction process in rendering the images at thefirst client 110. -
FIG. 6 is a flow diagram of aprocess 600 for handing-off a session between the server and a client to another client, consistent with various embodiments. In some embodiments, theprocess 600 can be implemented in theenvironment 100 ofFIG. 1 . Atblock 605, thesession module 405 establishes a firstonline session 120 between theserver 105 and thefirst client 110. In some embodiments, theserver 105 establishes the firstonline session 120 when theuser 175 logs into the art application at theserver 105. Theuser 175 may access art images of the art application using thefirst client 110. Theserver 105 may record the user activity performed during the firstonline session 120 as part of thefirst session data 150. - At
block 610, thesession module 405 receives a request from thefirst client 110 for starting a second online session for thesecond client 115. - At
block 615, theaccess information module 410 generates theaccess information 130 in the firstonline session 120, which is to be used at thesecond client 115 for connecting to the art application. Theaccess information 130 can be a hyperlink, an access code, etc., that can be used at the second client for connecting thesecond client 115 to theserver 105. - At
block 620, thesession module 405 generates a secondonline session 135 between theserver 105 and thesecond client 115 using the access information. Thesession module 405 also connects the secondonline session 135 to the firstonline session 120. - After the second
online session 135 is generated, the image request-processing module 415 can automatically activate the camera of thesecond client 115, e.g., by opening the camera app of thesecond client 115. - At
block 625, the image request-processing module 415 receives a user selection of an image of a décor item, e.g., thefirst art image 145, from thefirst client 110 in the firstonline session 120 for thefirst art image 145 to be pushed to thesecond client 115. - At
block 630, thesession module 405 can push thefirst art image 145 to thesecond client 115 by sharing thefirst art image 145 with the secondonline session 135. - At
block 635, theimage rendering module 420 can render thefirst art image 145 at thesecond client 115 in the secondonline session 135. For example, theimage rendering module 420 can render thefirst art image 145 with the settingimage 140 and/or a live view of the setting 220, e.g., at least as described with reference toFIG. 3 . Theimage rendering module 420 can also perform the auto correction process in rendering the images at thesecond client 115. -
FIG. 7 is a block diagram of a computer system as may be used to implement features of the disclosed embodiments. Thecomputing system 700 may be used to implement any of the entities, components or services depicted in the examples of the foregoing figures (and any other components and/or modules described in this specification). Thecomputing system 700 may include one or more central processing units (“processors”) 705,memory 710, input/output devices 725 (e.g., keyboard and pointing devices, display devices), storage devices 720 (e.g., disk drives), and network adapters 730 (e.g., network interfaces) that are connected to aninterconnect 715. Theinterconnect 715 is illustrated as an abstraction that represents any one or more separate physical buses, point to point connections, or both connected by appropriate bridges, adapters, or controllers. Theinterconnect 715, therefore, may include, for example, a system bus, a Peripheral Component Interconnect (PCI) bus or PCI-Express bus, a HyperTransport or industry standard architecture (ISA) bus, a small computer system interface (SCSI) bus, a universal serial bus (USB), IIC (I2C) bus, or an Institute of Electrical and Electronics Engineers (IEEE) standard 1394 bus, also called “Firewire”. - The
memory 710 andstorage devices 720 are computer-readable storage media that may store instructions that implement at least portions of the described embodiments. In addition, the data structures and message structures may be stored or transmitted via a data transmission medium, such as a signal on a communications link. Various communications links may be used, such as the Internet, a local area network, a wide area network, or a point-to-point dial-up connection. Thus, computer readable media can include computer-readable storage media (e.g., “non transitory” media) and computer-readable transmission media. - The instructions stored in
memory 710 can be implemented as software and/or firmware to program the processor(s) 705 to carry out actions described above. In some embodiments, such software or firmware may be initially provided to theprocessing system 700 by downloading it from a remote system through the computing system 700 (e.g., via network adapter 730). - The embodiments introduced herein can be implemented by, for example, programmable circuitry (e.g., one or more microprocessors) programmed with software and/or firmware, or entirely in special-purpose hardwired (non-programmable) circuitry, or in a combination of such forms. Special-purpose hardwired circuitry may be in the form of, for example, one or more ASICs, PLDs, FPGAs, etc.
- Remarks
- The above description and drawings are illustrative and are not to be construed as limiting. Numerous specific details are described to provide a thorough understanding of the disclosure. However, in some instances, well-known details are not described in order to avoid obscuring the description. Further, various modifications may be made without deviating from the scope of the embodiments. Accordingly, the embodiments are not limited except as by the appended claims.
- Reference in this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the disclosure. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Moreover, various features are described which may be exhibited by some embodiments and not by others. Similarly, various requirements are described which may be requirements for some embodiments but not for other embodiments.
- The terms used in this specification generally have their ordinary meanings in the art, within the context of the disclosure, and in the specific context where each term is used. Terms that are used to describe the disclosure are discussed below, or elsewhere in the specification, to provide additional guidance to the practitioner regarding the description of the disclosure. For convenience, some terms may be highlighted, for example using italics and/or quotation marks. The use of highlighting has no influence on the scope and meaning of a term; the scope and meaning of a term is the same, in the same context, whether or not it is highlighted. It will be appreciated that the same thing can be said in more than one way. One will recognize that “memory” is one form of a “storage” and that the terms may on occasion be used interchangeably.
- Consequently, alternative language and synonyms may be used for any one or more of the terms discussed herein, nor is any special significance to be placed upon whether or not a term is elaborated or discussed herein. Synonyms for some terms are provided. A recital of one or more synonyms does not exclude the use of other synonyms. The use of examples anywhere in this specification including examples of any term discussed herein is illustrative only, and is not intended to further limit the scope and meaning of the disclosure or of any exemplified term. Likewise, the disclosure is not limited to various embodiments given in this specification.
- Those skilled in the art will appreciate that the logic illustrated in each of the flow diagrams discussed above, may be altered in various ways. For example, the order of the logic may be rearranged, substeps may be performed in parallel, illustrated logic may be omitted; other logic may be included, etc.
- Without intent to further limit the scope of the disclosure, examples of instruments, apparatus, methods and their related results according to the embodiments of the present disclosure are given below. Note that titles or subtitles may be used in the examples for convenience of a reader, which in no way should limit the scope of the disclosure. Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains. In the case of conflict, the present document, including definitions will control.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/556,377 US20190387047A1 (en) | 2015-12-09 | 2019-08-30 | Session hand-off for mobile applications |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/964,513 US10404778B2 (en) | 2015-12-09 | 2015-12-09 | Session hand-off for mobile applications |
US16/556,377 US20190387047A1 (en) | 2015-12-09 | 2019-08-30 | Session hand-off for mobile applications |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/964,513 Continuation US10404778B2 (en) | 2015-12-09 | 2015-12-09 | Session hand-off for mobile applications |
Publications (1)
Publication Number | Publication Date |
---|---|
US20190387047A1 true US20190387047A1 (en) | 2019-12-19 |
Family
ID=59021035
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/964,513 Active 2036-07-30 US10404778B2 (en) | 2015-12-09 | 2015-12-09 | Session hand-off for mobile applications |
US16/556,377 Abandoned US20190387047A1 (en) | 2015-12-09 | 2019-08-30 | Session hand-off for mobile applications |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/964,513 Active 2036-07-30 US10404778B2 (en) | 2015-12-09 | 2015-12-09 | Session hand-off for mobile applications |
Country Status (1)
Country | Link |
---|---|
US (2) | US10404778B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2969713A1 (en) | 2014-12-05 | 2016-06-09 | Wal-Mart Stores, Inc. | System and method for generating globally-unique identifiers |
WO2017058823A1 (en) | 2015-09-28 | 2017-04-06 | Wal-Mart Stores, Inc. | Cloud based session management system |
US11317028B2 (en) * | 2017-01-06 | 2022-04-26 | Appsure Inc. | Capture and display device |
US11074116B2 (en) * | 2018-06-01 | 2021-07-27 | Apple Inc. | Direct input from a remote device |
US11126845B1 (en) * | 2018-12-07 | 2021-09-21 | A9.Com, Inc. | Comparative information visualization in augmented reality |
US20220156663A1 (en) * | 2020-11-15 | 2022-05-19 | Pricewaterhousecoopers Llp | Systems, methods, and user interfaces for a web-based personalized upskilling platform including soliciting, validating, and providing digital assets |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130174015A1 (en) * | 2012-01-03 | 2013-07-04 | Vistaprint Technologies Limited | Dynamically modifiable mobile device simulator |
US20140139700A1 (en) * | 2012-11-22 | 2014-05-22 | Olympus Imaging Corp. | Imaging apparatus and image communication method |
US9706012B2 (en) * | 2011-09-26 | 2017-07-11 | Murata Machinery, Ltd. | Relay communication system and relay server |
US9769368B1 (en) * | 2013-09-25 | 2017-09-19 | Looksytv, Inc. | Remote video system |
Family Cites Families (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7020622B1 (en) | 1997-06-10 | 2006-03-28 | Linkshare Corporation | Transaction tracking, managing, assessment, and auditing data processing system and network |
US5913217A (en) | 1997-06-30 | 1999-06-15 | Microsoft Corporation | Generating and compressing universally unique identifiers (UUIDs) using counter having high-order bit to low-order bit |
US7051019B1 (en) | 1999-08-17 | 2006-05-23 | Corbis Corporation | Method and system for obtaining images from a database having images that are relevant to indicated text |
US20010034668A1 (en) | 2000-01-29 | 2001-10-25 | Whitworth Brian L. | Virtual picture hanging via the internet |
AU2001235765A1 (en) | 2000-02-23 | 2001-09-03 | Tradesafely.Com Limited | Method and apparatus for internet web site accreditation |
CA2413434A1 (en) | 2000-06-26 | 2002-01-03 | International Business Machines Corporation | Data management application programming interface for a parallel file system |
US7024394B1 (en) | 2000-07-07 | 2006-04-04 | International Business Machines Corporation | System and method for protecting user logoff from web business transactions |
US20020111870A1 (en) | 2000-09-26 | 2002-08-15 | I2 Technologies, Inc. | System and method for identifying a product |
US7099860B1 (en) | 2000-10-30 | 2006-08-29 | Microsoft Corporation | Image retrieval systems and methods with semantic and feature based relevance feedback |
US20030016250A1 (en) | 2001-04-02 | 2003-01-23 | Chang Edward Y. | Computer user interface for perception-based information retrieval |
US20030069878A1 (en) | 2001-07-18 | 2003-04-10 | Gidon Wise | Data search by selectable pre-established descriptors and categories of items in data bank |
US20030036997A1 (en) | 2001-08-14 | 2003-02-20 | Internet Billing Company, Ltd. | System and method for fraud prevention in automated electronic payment processing |
AU2002351232A1 (en) | 2001-12-04 | 2003-06-17 | Yahoo!Inc. | Method and system for providing listener-requested music over a network |
US7254634B1 (en) | 2002-03-08 | 2007-08-07 | Akamai Technologies, Inc. | Managing web tier session state objects in a content delivery network (CDN) |
US9565275B2 (en) | 2012-02-09 | 2017-02-07 | Rockwell Automation Technologies, Inc. | Transformation of industrial data into useful cloud information |
US20050210019A1 (en) | 2002-11-20 | 2005-09-22 | Fujitsu Limited | Method and apparatus for retrieving image from database, and computer product |
US20040187015A1 (en) | 2003-03-21 | 2004-09-23 | Kenneth J. Geer | Generating numbers for use in product identifications |
US7882251B2 (en) | 2003-08-13 | 2011-02-01 | Microsoft Corporation | Routing hints |
US20050262075A1 (en) | 2004-05-21 | 2005-11-24 | Bea Systems, Inc. | Systems and methods for collaboration shared state management |
US20060122915A1 (en) | 2004-11-30 | 2006-06-08 | Allen Anita L | Customizable home improvement and redecoration pictorial display assistant |
WO2006119352A2 (en) | 2005-05-03 | 2006-11-09 | University Of South Florida | Method of treating cognitive decline and synaptic loss related to alzheimer's disease |
AU2006292351A1 (en) | 2005-09-16 | 2007-03-29 | Wizard International, Inc. | Framed art visualization software |
US7457730B2 (en) | 2005-12-15 | 2008-11-25 | Degnan Donald A | Method and system for virtual decoration |
US20070180468A1 (en) | 2006-01-13 | 2007-08-02 | Gogo Mobile, Inc. | Universal digital code for unique content identification |
US7705861B2 (en) | 2006-01-19 | 2010-04-27 | Microsoft Corporation | Snap to element analytical tool |
US8024439B2 (en) | 2006-03-17 | 2011-09-20 | Microsoft Corporation | Server session management application program interface and schema |
US20080071559A1 (en) | 2006-09-19 | 2008-03-20 | Juha Arrasvuori | Augmented reality assisted shopping |
US20090282468A1 (en) | 2007-01-04 | 2009-11-12 | Feeva Technology Inc. | Systems and methods of network operation and information processing, including use of persistent/anonymous identifiers throughout all stages of information processing and delivery |
US20090043864A1 (en) | 2007-08-07 | 2009-02-12 | Rohit Shetty | Method and System for Generating Globally Unique Identifiers |
US7769828B2 (en) | 2007-10-05 | 2010-08-03 | International Business Machines Corporation | System for provisioning time sharing option (TSO) and interactive productivity system facility (ISPF) services in a network environment |
US20100250747A1 (en) | 2009-03-31 | 2010-09-30 | Jeyhan Karaoguz | ADAPTIVE MULTIPLE PATHWAY SESSION SETUP TO SUPPORT QoS SERVICES |
US9055080B2 (en) | 2009-12-14 | 2015-06-09 | Citrix Systems, Inc. | Systems and methods for service isolation |
US8782014B2 (en) | 2010-05-14 | 2014-07-15 | International Business Machines Corporation | Data integrity mechanism for external storage devices |
US20120019564A1 (en) | 2010-07-26 | 2012-01-26 | Monday Morning Partners Llc | Methods, Systems, and Media for Presenting Works of Art to a Viewer |
US8553867B2 (en) | 2010-11-24 | 2013-10-08 | International Business Machines Corporation | User-defined system-enforced session termination in a unified telephony environment |
US20120166299A1 (en) | 2010-12-27 | 2012-06-28 | Art.Com, Inc. | Methods and systems for viewing objects within an uploaded image |
US9210213B2 (en) | 2011-03-03 | 2015-12-08 | Citrix Systems, Inc. | Reverse seamless integration between local and remote computing environments |
US8671025B2 (en) | 2011-04-21 | 2014-03-11 | Art.Com, Inc. | Method and system for image discovery via navigation of dimensions |
US8732805B2 (en) | 2011-09-30 | 2014-05-20 | Oracle International Corporation | Re-authentication in secure web service conversations |
US8843738B2 (en) | 2012-05-14 | 2014-09-23 | Sierra Wireless, Inc. | TLS abbreviated session identifier protocol |
CN104429093B (en) | 2012-07-09 | 2018-01-05 | 华为技术有限公司 | HTTP dynamic self-adapting streaming media clients and its session management implementation |
US10263916B2 (en) | 2012-12-03 | 2019-04-16 | Hewlett Packard Enterprise Development Lp | System and method for message handling in a network device |
US20140215120A1 (en) | 2013-01-30 | 2014-07-31 | Inmar, Inc. | System, method and computer program product for generating chronologically ordered globally unique identifiers |
US9331967B2 (en) | 2013-02-04 | 2016-05-03 | Oracle International Corporation | Browser/HTML friendly protocol for real-time communication signaling |
US9307031B2 (en) | 2013-02-04 | 2016-04-05 | Oracle International Corporation | Generic model for customizing protocol behavior through javascript |
US9026659B2 (en) | 2013-02-05 | 2015-05-05 | Nuance Communications, Inc. | Method and apparatus for supporting scalable multi-modal dialog application sessions |
US9866640B2 (en) | 2013-09-20 | 2018-01-09 | Oracle International Corporation | Cookie based session management |
US10044811B2 (en) | 2014-03-05 | 2018-08-07 | Pismo Labs Technology Limited | Methods and systems for forwarding data |
US10491580B2 (en) | 2014-06-23 | 2019-11-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and apparatuses for enabling an establishment of a second secure session over a communication network |
US9467458B2 (en) | 2014-08-01 | 2016-10-11 | Dell Products L.P. | System and method for providing selective access to a redirected device |
CA2969713A1 (en) | 2014-12-05 | 2016-06-09 | Wal-Mart Stores, Inc. | System and method for generating globally-unique identifiers |
US20160219089A1 (en) | 2015-01-23 | 2016-07-28 | Ebay Inc. | Systems and methods for messaging and processing high volume data over networks |
WO2017058823A1 (en) | 2015-09-28 | 2017-04-06 | Wal-Mart Stores, Inc. | Cloud based session management system |
-
2015
- 2015-12-09 US US14/964,513 patent/US10404778B2/en active Active
-
2019
- 2019-08-30 US US16/556,377 patent/US20190387047A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9706012B2 (en) * | 2011-09-26 | 2017-07-11 | Murata Machinery, Ltd. | Relay communication system and relay server |
US20130174015A1 (en) * | 2012-01-03 | 2013-07-04 | Vistaprint Technologies Limited | Dynamically modifiable mobile device simulator |
US20140139700A1 (en) * | 2012-11-22 | 2014-05-22 | Olympus Imaging Corp. | Imaging apparatus and image communication method |
US9769368B1 (en) * | 2013-09-25 | 2017-09-19 | Looksytv, Inc. | Remote video system |
Also Published As
Publication number | Publication date |
---|---|
US10404778B2 (en) | 2019-09-03 |
US20170171322A1 (en) | 2017-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190387047A1 (en) | Session hand-off for mobile applications | |
US11172004B2 (en) | Real time collaboration and document editing by multiple participants in a content management system | |
US10044649B2 (en) | Systems and methods for connect to control | |
US11127213B2 (en) | Techniques for crowdsourcing a room design, using augmented reality | |
US9514157B2 (en) | Multi-dimensional browsing of content | |
US8665337B2 (en) | Image sharing system, image managing server, and control method and program thereof | |
US8983237B2 (en) | Non-destructive collaborative editing | |
JP2022022239A (en) | System for publishing digital images | |
US9390155B2 (en) | Accessing content in a content-aware mesh | |
WO2012037005A2 (en) | Sensors, scanners, and methods for automatically tagging content | |
US9092533B1 (en) | Live, real time bookmarking and sharing of presentation slides | |
JP6861287B2 (en) | Effect sharing methods and systems for video | |
US11567992B2 (en) | System and method for generating a video | |
US20190243809A1 (en) | Visual file system | |
US10887551B2 (en) | Information processing apparatus, information processing system and information processing method | |
KR101425672B1 (en) | Building Information Modeling Based Communication System, Building Information Modeling Based Communication Server, and Building Information Modeling Based Communication Method in Mobile Terminal and Recording Medium Thereof | |
KR101618586B1 (en) | System and method for automatically selecting electronic images depending on an input | |
US20150067056A1 (en) | Information processing system, information processing apparatus, and information processing method | |
US8612185B2 (en) | Device, system and method for simulating and saving information of metadata regarding film production | |
US20140056530A1 (en) | Facilitating access to content in a content-aware mesh | |
JP6439516B2 (en) | Summary data generation program, summary data generation method, and summary data generation device | |
US10552886B2 (en) | Methods and apparatus for merchandise generation including an image | |
TWI652582B (en) | File sharing system and method based on virtual reality/amplification reality combined with instant messaging service | |
JP2021036400A (en) | Information processing system, information processing apparatus, information processing method, and program | |
CN113553636B (en) | Method and system for planning, designing and displaying three-dimensional space object |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
AS | Assignment |
Owner name: WALMART INC., ARKANSAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ART.COM, INC.;REEL/FRAME:050944/0365 Effective date: 20190215 Owner name: WALMART APOLLO, LLC, ARKANSAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WALMART INC.;REEL/FRAME:050949/0115 Effective date: 20190326 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |