WO2013063162A2 - Remote access from mobile devices - Google Patents

Remote access from mobile devices Download PDF

Info

Publication number
WO2013063162A2
WO2013063162A2 PCT/US2012/061751 US2012061751W WO2013063162A2 WO 2013063162 A2 WO2013063162 A2 WO 2013063162A2 US 2012061751 W US2012061751 W US 2012061751W WO 2013063162 A2 WO2013063162 A2 WO 2013063162A2
Authority
WO
WIPO (PCT)
Prior art keywords
remote
mobile
client
file
peer
Prior art date
Application number
PCT/US2012/061751
Other languages
French (fr)
Other versions
WO2013063162A3 (en
Inventor
Rui ZHU
Wissam Kazan
Keping Zhao
Michael Thomas
Original Assignee
Microsoft Corporation
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corporation filed Critical Microsoft Corporation
Priority to KR1020147011237A priority Critical patent/KR101923255B1/en
Priority to EP12843163.2A priority patent/EP2772007A4/en
Priority to CN201280052607.3A priority patent/CN103907311B/en
Priority to JP2014538964A priority patent/JP2015502596A/en
Publication of WO2013063162A2 publication Critical patent/WO2013063162A2/en
Publication of WO2013063162A3 publication Critical patent/WO2013063162A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability

Definitions

  • a personal computer may store one or more data files in a data storage device.
  • a user may connect a mobile computer device, such as a smart phone, to the personal computer to transfer the data files to the mobile computer device.
  • the mobile computer device may be connected to the personal computer using a universal serial bus (USB) cable.
  • USB universal serial bus
  • Embodiments discussed below relate to a mobile device executing a mobile client to access a remote client on a remote computer device.
  • a mobile client may connect to a data network.
  • the mobile client may establish a peer-to-peer connection with a remote client executing on a remote computer device over the data network.
  • FIG. 1 illustrates, in a block diagram, one embodiment of a network.
  • FIG. 2 illustrates, in a block diagram, one embodiment of a computing device.
  • FIG. 3 illustrates, in a flowchart, one embodiment of a method for establishing a peer-to-peer connection from a mobile client to synchronize files.
  • FIG. 4 illustrates, in a flowchart, one embodiment of a method for establishing a peer-to-peer connection from a mobile client to access a remote file.
  • FIG. 5 illustrates, in a flowchart, one embodiment of a method for using a mobile client to store a mobile file.
  • FIG. 6 illustrates, in a flowchart, one embodiment of a method for using a mobile client to retrieve a remote file.
  • FIG. 7 illustrates, in a flowchart, one embodiment of a method for establishing a peer-to-peer connection with a remote client.
  • FIG. 8 illustrates, in a flowchart, one embodiment of a method for establishing a peer-to-peer connection using a remote access server.
  • implementations are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the subject matter of this disclosure.
  • the implementations may be a machine-implemented method, a tangible machine-readable medium having a set of instructions detailing a method stored thereon for at least one processor, or a mobile device.
  • a user may access a file on a remote computer device from any mobile device.
  • the user may browse folders, view or edit documents, browse photos, and play video data or audio data.
  • the user may install the mobile client on a mobile device, allowing access from anytime or anyplace.
  • the user may avoid copying folders or files to an external disk or laptop by using a mobile device to go back to the remote computer device without being physically present.
  • the mobile client may access a remote client on a remote computer device using a direct connection, such as a peer-to-peer connection.
  • a direct connection is a connection between the remote client and the mobile client without an intervening server to manage the file actions or file management actions.
  • a peer-to-peer connection is a nodal connection between two or more devices with each node having an equal status and privilege in the connection, as opposed to a client-server relationship.
  • a remote access server may be responsible for the initial connection establishment between a mobile client and a remote computer device. After that initial connection, the mobile client may talk directly to the remote computer device, including sending requests and receiving responses. For those mobile devices not capable of performing peer-to-peer connections, the remote access server may take the role of keeping the connection with the remote computer device to transfer data.
  • the connection system may have a mobile client, a cloud service and a remote client executing on a remote computer device.
  • a user may browse a picture library on a home personal computer.
  • the mobile client may send a connection establishment request to a remote access server.
  • the remote access server may receive the request, authenticate the user, and check the peer-to- peer connection capability of the remote computing device and the mobile device. If the mobile device is an appropriate device for peer-to-peer connections, the remote access server may then query the remote computer device.
  • the remote access server may determine the online presence of the remote computer device and the peer-to-peer connection capability.
  • the remote computer device may respond with connection data, such as an internet protocol address.
  • the remote access server may forward the connection data back to the mobile client.
  • the mobile client may establish a peer-to-peer connection with the remote computer device.
  • the mobile client may then communicate directly with the remote computer device.
  • the mobile client may send a view picture library request to the remote computer device.
  • the remote computer device may receive the request and pull the metadata from the local picture library.
  • the remote computer device may send the metadata back to the mobile device.
  • the mobile client may view the picture library as if the user is viewing the picture library directly with a file manager on the remote computer device.
  • the mobile client may send a view image request to the remote computer device.
  • the remote computer device may respond to the request from the mobile device by resizing the image and sending the resized image to the mobile client for display on a mobile screen.
  • a mobile device may execute a mobile client to access a remote client on a remote computer device.
  • a mobile client may connect to a data network.
  • the mobile client may establish a peer-to-peer connection with a remote client executing on a remote computer device over the data network.
  • FIG. 1 illustrates, in a block diagram, one embodiment of a network 100.
  • a mobile device 102 may execute a mobile client 104 that creates a peer-to-peer connection across a data network 106 to a remote client 108 being executed by a remote computer device 110.
  • the mobile client 104 may have access to a mobile storage device 112 of the mobile device 102 storing a mobile file 114.
  • the mobile file 114 is any file stored on the mobile device 102.
  • the remote client 108 may provide access to a remote storage device 116 of the remote computer device 110 storing a remote file 118.
  • the remote file 118 is any file stored on the remote computer device 110.
  • the remote file 118 may be a media data file, such as a text file 120, a digital image file 122, an audio file 124, a video file 126, or other type of data file.
  • the mobile client 104 may use a remote access server 128 to create the peer-to- peer connection with the remote client 108.
  • the remote access server 128 may receive a peer-to-peer connection query from the mobile client 104 specifying the remote client 108 and describing the mobile device 102.
  • a peer-to-peer connection query seeks out the availability of the remote computer device 110 for a peer-to-peer connection and the proper formatting for a peer-to-peer connection request.
  • a peer-to-peer connection request initiates establishing the peer-to-peer connection.
  • the remote access server 128 may send a peer-to-peer connection query to the remote client 108 to determine the capabilities and connection data of the remote computer device 110.
  • the remote access server 128 may wrap the peer-to- peer connection query in the proper connection data for the remote client and return that peer-to-peer connection query to the mobile client 104.
  • the mobile client 104 may then send a peer-to-peer connection request to the remote client 108 to establish the peer-to- peer connection.
  • the remote client 108 may authenticate the mobile client 104 based on the peer-to-peer connection request.
  • the mobile client 104 may authenticate the mobile client 104 to the remote client 108.
  • the mobile client 104 may designate other mobile devices as being permitted to access the remote computer device.
  • the user may use the remote computer device 110 or a primary mobile device 102 to designate a set of permission levels for other mobile devices.
  • a permission level describes what types of file actions or file management actions that mobile device may take with a file.
  • the user may designate certain files as accessible and other files as prohibited to a mobile device.
  • a permission level may be applied on a file by file basis or to various classes or groups of files.
  • the mobile client 104 may store copies of the mobile file 114 on the remote computer device 110.
  • the mobile client 104 may access a remote file 118 stored on the remote computer device 110.
  • the mobile client 104 may execute a download action on the remote file 118, creating a mobile copy of the remote file 118 on the mobile device 102.
  • the remote client 108 may resize the mobile copy of the remote file 118 for use by the mobile device 102, based on the mobile device specification for the mobile device 102.
  • the remote client may receive the mobile device specification from the mobile device 102 or an outside source or may have previously stored the mobile device specification.
  • the mobile client 104 may execute an edit action on the remote file 118, directly changing the remote file 118 on the remote computer device 110.
  • the remote file 118 may be a sequential media file.
  • a sequential media file is any media file that presents media that may be played sequentially, such as an audio file 124 or a video file 126.
  • the remote client 108 may stream a sequential media file to the mobile client 104.
  • the mobile client 104 may execute a file management action on the file structure of the remote computer device 110.
  • a file management action may be a create action, a delete action, a move action or a remote copy action.
  • a create action creates a remote file 118 in the remote computer device 110.
  • a delete action removes a remote file 118 from the remote computer device 110.
  • a move action moves a remote file 118 from a first folder to a second folder in the remote computer device 110.
  • a remote copy action creates a copy of the remote file 118 in the remote computer device 1 10.
  • a file may exist as a mobile copy 114 in the mobile device 102 and a remote copy 118 on the remote computer device 110.
  • the mobile client 104 or the remote client 108 may synchronize the mobile file 114 with the remote file 118 according to a
  • the mobile client 104 may perform a conflict resolution action between the remote file 118 and the mobile file 114.
  • a conflict resolution action determines which version the remote file 118 and the mobile file 114 may reflect.
  • FIG. 2 illustrates a block diagram of an exemplary computing device 200 which may act as a mobile device 102, a remote computer device 110, or a remote access server 128.
  • the computing device 200 may combine one or more of hardware, software, firmware, and system-on-a-chip technology to implement the mobile client 104 or the remote client 108.
  • the computing device 200 may include a bus 210, a processor 220, a memory 230, a read only memory (ROM) 240, a storage device 250, an input device 260, an output device 270, and a communication interface 280.
  • the bus 210 may permit communication among the components of the computing device 200.
  • the processor 220 may include at least one conventional processor or
  • the memory 230 may be a random access memory (RAM) or another type of dynamic storage device that stores information and instructions for execution by the processor 220. The memory 230 may also store temporary variables or other intermediate information used during execution of instructions by the processor 220.
  • the ROM 240 may include a conventional ROM device or another type of static storage device that stores static information and instructions for the processor 220.
  • the storage device 250 may include any type of tangible machine- readable medium, such as, for example, magnetic or optical recording media and its corresponding drive.
  • the storage device 250 may store a set of instructions detailing a method that when executed by one or more processors cause the one or more processors to perform the method.
  • the storage device 250 may also be a database or a database interface for storing data files or peer-to-peer data connection data.
  • the input device 260 may include one or more conventional mechanisms that permit a user to input information to the computing device 200, such as a keyboard, a mouse, a voice recognition device, a microphone, a headset, etc.
  • the output device 270 may include one or more conventional mechanisms that output information to the user, including a display, a printer, one or more speakers, a headset, or a medium, such as a memory, or a magnetic or optical disk and a corresponding disk drive.
  • the communication interface 280 may include any transceiver-like mechanism that enables processing device 200 to communicate with other devices or networks.
  • the communication interface 280 may include a network interface or a mobile transceiver interface.
  • the communication interface 280 may be a wireless, wired, or optical interface.
  • the computing device 200 may perform such functions in response to processor 220 executing sequences of instructions contained in a computer-readable medium, such as, for example, the memory 230, a magnetic disk, or an optical disk. Such instructions may be read into the memory 230 from another computer-readable medium, such as the storage device 250, or from a separate device via the communication interface 280.
  • a computer-readable medium such as, for example, the memory 230, a magnetic disk, or an optical disk.
  • Such instructions may be read into the memory 230 from another computer-readable medium, such as the storage device 250, or from a separate device via the communication interface 280.
  • FIG. 3 illustrates, in a flowchart, one embodiment of a method 300 for establishing a peer-to-peer connection from a mobile client 104 to synchronize files.
  • the mobile client 104 executing on a mobile device 102 may connect to a data network 106 (Block 302).
  • the mobile client 104 may contact a remote access (RA) server 128 to establish a peer-to- peer (P2P) connection (Block 304).
  • the mobile client 104 may authenticate itself to the remote client 108 (Block 306).
  • the mobile client 104 may establish a peer-to-peer connection with a remote client 108 executing on a remote computer device 110 over the data network 106 (Block 308).
  • the mobile client 104 may create a synchronization schedule with the remote client 108 (Block 310).
  • the mobile client 104 may synchronize a remote file 118 on the remote computer device 110 with a mobile file 114 on the mobile device 102 (Block 312). If the versions of the mobile file 114 and the remote file 118 conflict and a user input has been received (Block 314), the mobile client 104 may factor the user input into a conflict resolution action (Block 316).
  • the mobile client 104 may perform the conflict resolution action between the remote file 118 and the mobile file 114 (Block 318).
  • FIG. 4 illustrates, in a flowchart, one embodiment of a method 400 for establishing a peer-to-peer connection from a mobile client 104 to access a remote file 118.
  • the mobile client 104 may establish a peer-to-peer connection with a remote client 108 executing on a remote computer device 110 over the data network 106 (Block 402). If the mobile client 104 is performing a file management action (Block 404), the mobile client 104 may execute a file management action on the remote computer device 110 (Block 406).
  • the file management action may be at least one of a create action, a delete action, a move action, or a remote copy action on a remote file 118 of the remote computer device 110.
  • the mobile client 104 may access a remote file 118 on the remote computer device 110 (Block 408). If a remote file 118 is a remote sequential media file, such as an audio file 124 or a video file 126 (Block 410), the mobile client 104 may stream the remote sequential media file on the remote computer device 110 to the mobile client 104 (Block 412). Otherwise, the mobile client 104 may execute a file action on the remote file 118 of the remote computer device 110 (Block 414).
  • the file action may be at least one of an edit action or a download action.
  • FIG. 5 illustrates, in a flowchart, one embodiment of a method 500 for establishing a peer-to-peer connection from a mobile client 104 to store a mobile file 114.
  • the mobile client 104 may establish a direct connection, such as a peer-to-peer connection, with a remote client 108 executing on a remote computer device 110 over the data network 106 (Block 502).
  • the mobile client 104 may create a mobile file 114 on the mobile device 102 (Block 504).
  • the mobile client 104 may push the mobile file 114 to remote client 108 (Block 506).
  • a push action is a file transmission from the mobile device 102 to the remote computer device 110 initiated by the mobile client 104.
  • FIG. 6 illustrates, in a flowchart, one embodiment of a method 500 for establishing a peer-to-peer connection from a mobile client 104 to retrieve a remote file 118.
  • the mobile client 104 may establish a direct connection, such as a peer-to-peer connection, with a remote client 108 executing on a remote computer device 110 over the data network 106 (Block 602).
  • the mobile client 104 may select a remote file 118 in the remote storage device 116 (Block 604).
  • the mobile client 104 may pull the remote file 118 from the remote client 108 (Block 606).
  • a pull action is a file transmission from the remote computer device 110 to the mobile device 102 initiated by the mobile client 104.
  • FIG. 7 illustrates, in a flowchart, one embodiment of a method 700 for establishing a peer-to-peer connection with a remote client 108.
  • the remote client 108 executing on a remote computer device 1 10 may connect to a data network 106 (Block 702).
  • the remote client 108 may receive a peer-to-peer connection query from a remote access server 128 on behalf of the mobile client 104 (Block 704).
  • the remote client 108 may authenticate the mobile client 104 (Block 706).
  • the remote client 108 may establish a peer-to-peer connection with a mobile client 104 executing on a mobile device 102 over the data network 106 (Block 708).
  • the remote client 108 may determine a mobile device specification for the mobile device 102 (Block 710).
  • the remote client 108 may determine a permission level for the mobile device 102 (Block 712).
  • the remote client 108 may provide access to a remote file 118 on the remote computer device 110 to the mobile client 104 (Block 714). If the file action the user is performing is for a mobile file 114 (Block 716), the remote client 108 may receive a mobile file 114 from the mobile client 104 (Block 718). If the file action the user is performing is for a remote file 118 (Block 716), the remote client 108 may resize the remote file 118 for presentation by the mobile client 104 (Block 720). The remote client 108 may transmit the remote file 118 to the mobile client 104 (Block 722).
  • FIG. 8 illustrates, in a flowchart, one embodiment of a method 800 for establishing a peer-to-peer connection using a remote access server 128.
  • the remote access server 128 may receive a peer-to-peer connection query from a mobile client 104 (Block 802). If the mobile client 104 does not support peer-to-peer connections (Block 804), the remote access server 128 may return a service denial message to the mobile client 104 (Block 806). The remote access server 128 may send a peer-to-peer connection query to the remote client 108 (Block 808).
  • the remote access server 128 may receive a set of remote client data from the remote client 108, such as an internet protocol address and peer-to- peer capability (Block 810). If the remote client 108 does not support peer-to-peer connections (Block 812), the remote access server 128 may return a service denial message to the mobile client 104 (Block 806). The remote access server 128 may wrap the peer-to-peer connection query in the peer-to-peer connection data for the remote client 108 (Block 814). The remote access server 128 may send the peer-to-peer connection data to the mobile client 104 (Block 816).
  • a set of remote client data such as an internet protocol address and peer-to- peer capability (Block 810). If the remote client 108 does not support peer-to-peer connections (Block 812), the remote access server 128 may return a service denial message to the mobile client 104 (Block 806). The remote access server 128 may wrap the peer-to-peer connection query in the peer-
  • Embodiments within the scope of the present invention may also include non- transitory computer-readable storage media for carrying or having computer-executable instructions or data structures stored thereon.
  • Such non-transitory computer-readable storage media may be any available media that can be accessed by a general purpose or special purpose computer.
  • non-transitory computer-readable storage media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures. Combinations of the above should also be included within the scope of the non-transitory computer-readable storage media.
  • Embodiments may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination thereof) through a communications network.
  • Computer-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.
  • Computer- executable instructions also include program modules that are executed by computers in stand-alone or network environments.
  • program modules include routines, programs, objects, components, and data structures, etc. that perform particular tasks or implement particular abstract data types.
  • Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.

Abstract

In one embodiment, a mobile device 102 may execute a mobile client 104 to access a remote client 108 on a remote computer device 110. A mobile client 104 may connect to a data network 106. The mobile client 104 may establish a peer-to-peer connection with a remote client 108 executing on a remote computer device 110 over the data network 106.

Description

REMOTE ACCESS FROM MOBILE DEVICES
BACKGROUND
[0001] A personal computer may store one or more data files in a data storage device. A user may connect a mobile computer device, such as a smart phone, to the personal computer to transfer the data files to the mobile computer device. The mobile computer device may be connected to the personal computer using a universal serial bus (USB) cable.
SUMMARY
[0002] This Summary is provided to introduce a selection of concepts in a simplified form that is further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
[0003] Embodiments discussed below relate to a mobile device executing a mobile client to access a remote client on a remote computer device. A mobile client may connect to a data network. The mobile client may establish a peer-to-peer connection with a remote client executing on a remote computer device over the data network.
DRAWINGS
[0004] In order to describe the manner in which the above-recited and other advantages and features can be obtained, a more particular description is set forth and will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments and are not therefore to be considered to be limiting of its scope, implementations will be described and explained with additional specificity and detail through the use of the accompanying drawings.
[0005] FIG. 1 illustrates, in a block diagram, one embodiment of a network.
[0006] FIG. 2 illustrates, in a block diagram, one embodiment of a computing device.
[0007] FIG. 3 illustrates, in a flowchart, one embodiment of a method for establishing a peer-to-peer connection from a mobile client to synchronize files.
[0008] FIG. 4 illustrates, in a flowchart, one embodiment of a method for establishing a peer-to-peer connection from a mobile client to access a remote file.
[0009] FIG. 5 illustrates, in a flowchart, one embodiment of a method for using a mobile client to store a mobile file. [0010] FIG. 6 illustrates, in a flowchart, one embodiment of a method for using a mobile client to retrieve a remote file.
[0011] FIG. 7 illustrates, in a flowchart, one embodiment of a method for establishing a peer-to-peer connection with a remote client.
[0012] FIG. 8 illustrates, in a flowchart, one embodiment of a method for establishing a peer-to-peer connection using a remote access server.
DETAILED DESCRIPTION
[0013] Embodiments are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the subject matter of this disclosure. The implementations may be a machine-implemented method, a tangible machine-readable medium having a set of instructions detailing a method stored thereon for at least one processor, or a mobile device.
[0014] A user may access a file on a remote computer device from any mobile device. The user may browse folders, view or edit documents, browse photos, and play video data or audio data. The user may install the mobile client on a mobile device, allowing access from anytime or anyplace. The user may avoid copying folders or files to an external disk or laptop by using a mobile device to go back to the remote computer device without being physically present.
[0015] The mobile client may access a remote client on a remote computer device using a direct connection, such as a peer-to-peer connection. A direct connection is a connection between the remote client and the mobile client without an intervening server to manage the file actions or file management actions. A peer-to-peer connection is a nodal connection between two or more devices with each node having an equal status and privilege in the connection, as opposed to a client-server relationship. A remote access server may be responsible for the initial connection establishment between a mobile client and a remote computer device. After that initial connection, the mobile client may talk directly to the remote computer device, including sending requests and receiving responses. For those mobile devices not capable of performing peer-to-peer connections, the remote access server may take the role of keeping the connection with the remote computer device to transfer data.
[0016] The connection system may have a mobile client, a cloud service and a remote client executing on a remote computer device. For example, a user may browse a picture library on a home personal computer. When the user selects the home personal computer from the list of devices associated through the user interface of the mobile client, the mobile client may send a connection establishment request to a remote access server. The remote access server may receive the request, authenticate the user, and check the peer-to- peer connection capability of the remote computing device and the mobile device. If the mobile device is an appropriate device for peer-to-peer connections, the remote access server may then query the remote computer device. The remote access server may determine the online presence of the remote computer device and the peer-to-peer connection capability. If the remote computer device may establish a peer-to-peer connection, the remote computer device may respond with connection data, such as an internet protocol address. The remote access server may forward the connection data back to the mobile client. The mobile client may establish a peer-to-peer connection with the remote computer device.
[0017] The mobile client may then communicate directly with the remote computer device. For example, the mobile client may send a view picture library request to the remote computer device. The remote computer device may receive the request and pull the metadata from the local picture library. The remote computer device may send the metadata back to the mobile device. The mobile client may view the picture library as if the user is viewing the picture library directly with a file manager on the remote computer device. When a user further clicks to view a particular photo, the mobile client may send a view image request to the remote computer device. The remote computer device may respond to the request from the mobile device by resizing the image and sending the resized image to the mobile client for display on a mobile screen.
[0018] Thus, in one embodiment, a mobile device may execute a mobile client to access a remote client on a remote computer device. A mobile client may connect to a data network. The mobile client may establish a peer-to-peer connection with a remote client executing on a remote computer device over the data network.
[0019] FIG. 1 illustrates, in a block diagram, one embodiment of a network 100. A mobile device 102 may execute a mobile client 104 that creates a peer-to-peer connection across a data network 106 to a remote client 108 being executed by a remote computer device 110. The mobile client 104 may have access to a mobile storage device 112 of the mobile device 102 storing a mobile file 114. The mobile file 114 is any file stored on the mobile device 102. [0020] The remote client 108 may provide access to a remote storage device 116 of the remote computer device 110 storing a remote file 118. The remote file 118 is any file stored on the remote computer device 110. The remote file 118 may be a media data file, such as a text file 120, a digital image file 122, an audio file 124, a video file 126, or other type of data file.
[0021] The mobile client 104 may use a remote access server 128 to create the peer-to- peer connection with the remote client 108. The remote access server 128 may receive a peer-to-peer connection query from the mobile client 104 specifying the remote client 108 and describing the mobile device 102. A peer-to-peer connection query seeks out the availability of the remote computer device 110 for a peer-to-peer connection and the proper formatting for a peer-to-peer connection request. A peer-to-peer connection request initiates establishing the peer-to-peer connection. The remote access server 128 may send a peer-to-peer connection query to the remote client 108 to determine the capabilities and connection data of the remote computer device 110. If the remote computer device 110 supports peer-to-peer communication, the remote access server 128 may wrap the peer-to- peer connection query in the proper connection data for the remote client and return that peer-to-peer connection query to the mobile client 104. The mobile client 104 may then send a peer-to-peer connection request to the remote client 108 to establish the peer-to- peer connection. The remote client 108 may authenticate the mobile client 104 based on the peer-to-peer connection request. The mobile client 104 may authenticate the mobile client 104 to the remote client 108.
[0022] Once the mobile client 104 has been authenticated, the mobile client 104 may designate other mobile devices as being permitted to access the remote computer device. The user may use the remote computer device 110 or a primary mobile device 102 to designate a set of permission levels for other mobile devices. A permission level describes what types of file actions or file management actions that mobile device may take with a file. The user may designate certain files as accessible and other files as prohibited to a mobile device. A permission level may be applied on a file by file basis or to various classes or groups of files.
[0023] Once the peer-to-peer connection between the mobile client 104 and the remote client 108 has been established, the mobile client 104 may store copies of the mobile file 114 on the remote computer device 110. The mobile client 104 may access a remote file 118 stored on the remote computer device 110. The mobile client 104 may execute a download action on the remote file 118, creating a mobile copy of the remote file 118 on the mobile device 102. The remote client 108 may resize the mobile copy of the remote file 118 for use by the mobile device 102, based on the mobile device specification for the mobile device 102. The remote client may receive the mobile device specification from the mobile device 102 or an outside source or may have previously stored the mobile device specification. The mobile client 104 may execute an edit action on the remote file 118, directly changing the remote file 118 on the remote computer device 110.
[0024] The remote file 118 may be a sequential media file. A sequential media file is any media file that presents media that may be played sequentially, such as an audio file 124 or a video file 126. The remote client 108 may stream a sequential media file to the mobile client 104.
[0025] The mobile client 104 may execute a file management action on the file structure of the remote computer device 110. A file management action may be a create action, a delete action, a move action or a remote copy action. A create action creates a remote file 118 in the remote computer device 110. A delete action removes a remote file 118 from the remote computer device 110. A move action moves a remote file 118 from a first folder to a second folder in the remote computer device 110. A remote copy action creates a copy of the remote file 118 in the remote computer device 1 10.
[0026] A file may exist as a mobile copy 114 in the mobile device 102 and a remote copy 118 on the remote computer device 110. The mobile client 104 or the remote client 108 may synchronize the mobile file 114 with the remote file 118 according to a
synchronization schedule throughout the life of the peer-to-peer connection. If the mobile file 114 differs from the remote file 118, the mobile client 104 may perform a conflict resolution action between the remote file 118 and the mobile file 114. A conflict resolution action determines which version the remote file 118 and the mobile file 114 may reflect.
[0027] FIG. 2 illustrates a block diagram of an exemplary computing device 200 which may act as a mobile device 102, a remote computer device 110, or a remote access server 128. The computing device 200 may combine one or more of hardware, software, firmware, and system-on-a-chip technology to implement the mobile client 104 or the remote client 108. The computing device 200 may include a bus 210, a processor 220, a memory 230, a read only memory (ROM) 240, a storage device 250, an input device 260, an output device 270, and a communication interface 280. The bus 210 may permit communication among the components of the computing device 200.
[0028] The processor 220 may include at least one conventional processor or
microprocessor that interprets and executes a set of instructions. The memory 230 may be a random access memory (RAM) or another type of dynamic storage device that stores information and instructions for execution by the processor 220. The memory 230 may also store temporary variables or other intermediate information used during execution of instructions by the processor 220. The ROM 240 may include a conventional ROM device or another type of static storage device that stores static information and instructions for the processor 220. The storage device 250 may include any type of tangible machine- readable medium, such as, for example, magnetic or optical recording media and its corresponding drive. The storage device 250 may store a set of instructions detailing a method that when executed by one or more processors cause the one or more processors to perform the method. The storage device 250 may also be a database or a database interface for storing data files or peer-to-peer data connection data.
[0029] The input device 260 may include one or more conventional mechanisms that permit a user to input information to the computing device 200, such as a keyboard, a mouse, a voice recognition device, a microphone, a headset, etc. The output device 270 may include one or more conventional mechanisms that output information to the user, including a display, a printer, one or more speakers, a headset, or a medium, such as a memory, or a magnetic or optical disk and a corresponding disk drive. The communication interface 280 may include any transceiver-like mechanism that enables processing device 200 to communicate with other devices or networks. The communication interface 280 may include a network interface or a mobile transceiver interface. The communication interface 280 may be a wireless, wired, or optical interface.
[0030] The computing device 200 may perform such functions in response to processor 220 executing sequences of instructions contained in a computer-readable medium, such as, for example, the memory 230, a magnetic disk, or an optical disk. Such instructions may be read into the memory 230 from another computer-readable medium, such as the storage device 250, or from a separate device via the communication interface 280.
[0031] FIG. 3 illustrates, in a flowchart, one embodiment of a method 300 for establishing a peer-to-peer connection from a mobile client 104 to synchronize files. The mobile client 104 executing on a mobile device 102 may connect to a data network 106 (Block 302). The mobile client 104 may contact a remote access (RA) server 128 to establish a peer-to- peer (P2P) connection (Block 304). The mobile client 104 may authenticate itself to the remote client 108 (Block 306). The mobile client 104 may establish a peer-to-peer connection with a remote client 108 executing on a remote computer device 110 over the data network 106 (Block 308). The mobile client 104 may create a synchronization schedule with the remote client 108 (Block 310). The mobile client 104 may synchronize a remote file 118 on the remote computer device 110 with a mobile file 114 on the mobile device 102 (Block 312). If the versions of the mobile file 114 and the remote file 118 conflict and a user input has been received (Block 314), the mobile client 104 may factor the user input into a conflict resolution action (Block 316). The mobile client 104 may perform the conflict resolution action between the remote file 118 and the mobile file 114 (Block 318).
[0032] FIG. 4 illustrates, in a flowchart, one embodiment of a method 400 for establishing a peer-to-peer connection from a mobile client 104 to access a remote file 118. The mobile client 104 may establish a peer-to-peer connection with a remote client 108 executing on a remote computer device 110 over the data network 106 (Block 402). If the mobile client 104 is performing a file management action (Block 404), the mobile client 104 may execute a file management action on the remote computer device 110 (Block 406). The file management action may be at least one of a create action, a delete action, a move action, or a remote copy action on a remote file 118 of the remote computer device 110. The mobile client 104 may access a remote file 118 on the remote computer device 110 (Block 408). If a remote file 118 is a remote sequential media file, such as an audio file 124 or a video file 126 (Block 410), the mobile client 104 may stream the remote sequential media file on the remote computer device 110 to the mobile client 104 (Block 412). Otherwise, the mobile client 104 may execute a file action on the remote file 118 of the remote computer device 110 (Block 414). The file action may be at least one of an edit action or a download action.
[0033] FIG. 5 illustrates, in a flowchart, one embodiment of a method 500 for establishing a peer-to-peer connection from a mobile client 104 to store a mobile file 114. The mobile client 104 may establish a direct connection, such as a peer-to-peer connection, with a remote client 108 executing on a remote computer device 110 over the data network 106 (Block 502). The mobile client 104 may create a mobile file 114 on the mobile device 102 (Block 504). The mobile client 104 may push the mobile file 114 to remote client 108 (Block 506). A push action is a file transmission from the mobile device 102 to the remote computer device 110 initiated by the mobile client 104.
[0034] FIG. 6 illustrates, in a flowchart, one embodiment of a method 500 for establishing a peer-to-peer connection from a mobile client 104 to retrieve a remote file 118. The mobile client 104 may establish a direct connection, such as a peer-to-peer connection, with a remote client 108 executing on a remote computer device 110 over the data network 106 (Block 602). The mobile client 104 may select a remote file 118 in the remote storage device 116 (Block 604). The mobile client 104 may pull the remote file 118 from the remote client 108 (Block 606). A pull action is a file transmission from the remote computer device 110 to the mobile device 102 initiated by the mobile client 104.
[0035] FIG. 7 illustrates, in a flowchart, one embodiment of a method 700 for establishing a peer-to-peer connection with a remote client 108. The remote client 108 executing on a remote computer device 1 10 may connect to a data network 106 (Block 702). The remote client 108 may receive a peer-to-peer connection query from a remote access server 128 on behalf of the mobile client 104 (Block 704). The remote client 108 may authenticate the mobile client 104 (Block 706). The remote client 108 may establish a peer-to-peer connection with a mobile client 104 executing on a mobile device 102 over the data network 106 (Block 708). The remote client 108 may determine a mobile device specification for the mobile device 102 (Block 710). The remote client 108 may determine a permission level for the mobile device 102 (Block 712). The remote client 108 may provide access to a remote file 118 on the remote computer device 110 to the mobile client 104 (Block 714). If the file action the user is performing is for a mobile file 114 (Block 716), the remote client 108 may receive a mobile file 114 from the mobile client 104 (Block 718). If the file action the user is performing is for a remote file 118 (Block 716), the remote client 108 may resize the remote file 118 for presentation by the mobile client 104 (Block 720). The remote client 108 may transmit the remote file 118 to the mobile client 104 (Block 722).
[0036] FIG. 8 illustrates, in a flowchart, one embodiment of a method 800 for establishing a peer-to-peer connection using a remote access server 128. The remote access server 128 may receive a peer-to-peer connection query from a mobile client 104 (Block 802). If the mobile client 104 does not support peer-to-peer connections (Block 804), the remote access server 128 may return a service denial message to the mobile client 104 (Block 806). The remote access server 128 may send a peer-to-peer connection query to the remote client 108 (Block 808). The remote access server 128 may receive a set of remote client data from the remote client 108, such as an internet protocol address and peer-to- peer capability (Block 810). If the remote client 108 does not support peer-to-peer connections (Block 812), the remote access server 128 may return a service denial message to the mobile client 104 (Block 806). The remote access server 128 may wrap the peer-to-peer connection query in the peer-to-peer connection data for the remote client 108 (Block 814). The remote access server 128 may send the peer-to-peer connection data to the mobile client 104 (Block 816).
[0037] Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms for implementing the claims.
[0038] Embodiments within the scope of the present invention may also include non- transitory computer-readable storage media for carrying or having computer-executable instructions or data structures stored thereon. Such non-transitory computer-readable storage media may be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such non-transitory computer-readable storage media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures. Combinations of the above should also be included within the scope of the non-transitory computer-readable storage media.
[0039] Embodiments may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination thereof) through a communications network.
[0040] Computer-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Computer- executable instructions also include program modules that are executed by computers in stand-alone or network environments. Generally, program modules include routines, programs, objects, components, and data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.
[0041] Although the above description may contain specific details, they should not be construed as limiting the claims in any way. Other configurations of the described embodiments are part of the scope of the disclosure. For example, the principles of the disclosure may be applied to each individual user where each user may individually deploy such a system. This enables each user to utilize the benefits of the disclosure even if any one of a large number of possible applications do not use the functionality described herein. Multiple instances of electronic devices each may process the content in various possible ways. Implementations are not necessarily in one system used by all end users. Accordingly, the appended claims and their legal equivalents should only define the invention, rather than any specific examples given.

Claims

CLAIMS We claim:
1. A machine-implemented method, comprising:
connecting a mobile client executing on a mobile device to a data network; and
establishing a peer-to-peer connection between the mobile client and a remote client executing on a remote computer device over the data network.
2. The method of claim 1, further comprising:
executing a file management action on the remote computer device using the mobile client.
3. The method of claim 1, further comprising:
creating a synchronization schedule between the mobile client and the remote client.
4. The method of claim 1, further comprising:
synchronizing a remote file on the remote computer device with a mobile file on the mobile device.
5. The method of claim 4, further comprising:
performing a conflict resolution action between the remote file and the mobile file.
6. The method of claim 1, further comprising:
creating a mobile file on the mobile device; and
pushing the mobile file to the remote client.
7. The method of claim 1, further comprising:
contacting a remote access server to establish the peer-to-peer connection.
8. A tangible machine-readable medium having a set of instructions detailing a method stored thereon that when executed by one or more processors cause the one or more processors to perform the method, the method comprising:
connecting a remote client executing on a remote computer device to a data network; and
establishing a peer-to-peer connection between the remote client and a mobile client executing on a mobile device over the data network.
9. A mobile device, comprising:
a data storage that stores a mobile file;
a communication interface that connects to a data network; and a processor that executes a mobile client to establish a direct connection with a remote client executing on a remote computer device over the data network and pushing the mobile file to the remote client.
10. The mobile device of claim 9, wherein the mobile client selects a remote file and pulls the remote file from the remote client.
PCT/US2012/061751 2011-10-27 2012-10-24 Remote access from mobile devices WO2013063162A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020147011237A KR101923255B1 (en) 2011-10-27 2012-10-24 Remote access from mobile devices
EP12843163.2A EP2772007A4 (en) 2011-10-27 2012-10-24 Remote access from mobile devices
CN201280052607.3A CN103907311B (en) 2011-10-27 2012-10-24 Remote access from mobile equipment
JP2014538964A JP2015502596A (en) 2011-10-27 2012-10-24 Remote access from mobile devices

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/282,472 2011-10-27
US13/282,472 US9716744B2 (en) 2011-10-27 2011-10-27 Remote access from mobile devices

Publications (2)

Publication Number Publication Date
WO2013063162A2 true WO2013063162A2 (en) 2013-05-02
WO2013063162A3 WO2013063162A3 (en) 2013-07-04

Family

ID=48168775

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2012/061751 WO2013063162A2 (en) 2011-10-27 2012-10-24 Remote access from mobile devices

Country Status (6)

Country Link
US (1) US9716744B2 (en)
EP (1) EP2772007A4 (en)
JP (1) JP2015502596A (en)
KR (1) KR101923255B1 (en)
CN (1) CN103907311B (en)
WO (1) WO2013063162A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9143966B2 (en) 2014-01-20 2015-09-22 Nokia Technologies Oy Remote access to a wireless device

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9420031B2 (en) * 2013-01-15 2016-08-16 Microsoft Technology Licensing, Llc Systems and methods for building and using hybrid mobile applications
US10574744B2 (en) * 2013-01-31 2020-02-25 Dell Products L.P. System and method for managing peer-to-peer information exchanges
WO2021075919A1 (en) * 2019-10-16 2021-04-22 한국과학기술원 User interface distribution method for multi-device interaction
US20230325263A1 (en) * 2022-04-12 2023-10-12 Korea Advanced Institute Of Science & Technology User Interface Distribution Method for Multi-Device Interaction

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060161516A1 (en) 2005-01-14 2006-07-20 Microsoft Corporation Method and system for synchronizing multiple user revisions to a shared object

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052735A (en) 1997-10-24 2000-04-18 Microsoft Corporation Electronic mail object synchronization between a desktop computer and mobile device
US6941270B1 (en) * 1999-06-21 2005-09-06 Nokia Corporation Apparatus, and associated method, for loading a mobile terminal with an application program installed at a peer device
US6789126B1 (en) * 2000-05-09 2004-09-07 Sun Microsystems, Inc. Addressing message gates in a distributed computing environment
JP4178539B2 (en) * 2001-07-02 2008-11-12 富士フイルム株式会社 Game provision system
WO2003014955A1 (en) 2001-08-09 2003-02-20 Gigamedia Access Corporation Hybrid system architecture for secure peer-to-peer-communication
US20030097451A1 (en) * 2001-11-16 2003-05-22 Nokia, Inc. Personal data repository
AU2003223382A1 (en) * 2002-03-29 2003-10-13 Good Technology, Inc. System and method for full wireless synchronization of a data processing apparatus with a data service
US7197537B2 (en) * 2002-03-29 2007-03-27 Bellsouth Intellectual Property Corp Remote access and retrieval of electronic files
US6938042B2 (en) 2002-04-03 2005-08-30 Laplink Software Inc. Peer-to-peer file sharing
US20040128198A1 (en) * 2002-05-15 2004-07-01 Linwood Register System and method for computer network-based enterprise media distribution
US7386878B2 (en) * 2002-08-14 2008-06-10 Microsoft Corporation Authenticating peer-to-peer connections
US6928476B2 (en) 2002-08-23 2005-08-09 Mirra, Inc. Peer to peer remote data storage and collaboration
KR100468325B1 (en) * 2003-03-28 2005-01-27 주식회사 프리챌 P2p service method
US20040235521A1 (en) * 2003-05-01 2004-11-25 Salil Pradhan Method and system for exchanging digital media
US7676675B2 (en) 2003-06-06 2010-03-09 Microsoft Corporation Architecture for connecting a remote client to a local client desktop
BRPI0419244B1 (en) 2004-12-28 2018-04-24 Telecom Italia S.P.A. “REMOTE ACCESS METHOD AND SYSTEM TO ENABLE A USER TO REMOTELY ACCESS A TERMINAL EQUIPMENT”
ES2744612T3 (en) * 2005-08-05 2020-02-25 Orange Procedure for controlling multimedia equipment from a mobile terminal, corresponding computer programs, multimedia equipment and server
KR100722372B1 (en) 2005-11-16 2007-05-28 주식회사 로직플랜트 Internet mail client system for mobile devices using remote computer systems and method thereof
CA2636010A1 (en) * 2006-01-17 2007-07-17 Baker Hughes Inc System and method for remote data acquisition and distribution
US8166390B2 (en) * 2006-02-15 2012-04-24 Microsoft Corporation Figure sizing and positioning on dynamic pages
US8275715B2 (en) * 2006-06-18 2012-09-25 Bank Of America Corporation Apparatuses, methods and systems for a deposit process manager decisioning engine
CN101072397A (en) 2006-06-23 2007-11-14 腾讯科技(深圳)有限公司 Mobile phone and method for treating P2P flow media for mobile phone
US7949301B2 (en) 2006-07-21 2011-05-24 Research In Motion Limited Mobile communications device access from personal computer
EP1881421B1 (en) 2006-07-21 2013-01-02 Research In Motion Limited Mobile communications device access from personal computer
US20080139195A1 (en) 2006-12-07 2008-06-12 David John Marsyla Remote access for mobile devices
JP2008289133A (en) 2007-04-20 2008-11-27 Sony Corp Data communication system, cradle apparatus, server apparatus, transfer control program, communication control program and data communication method
US8782527B2 (en) * 2007-06-27 2014-07-15 Microsoft Corp. Collaborative phone-based file exchange
US7953882B2 (en) * 2007-07-26 2011-05-31 Realnetworks, Inc. Adaptive variable fidelity media distribution system and method
EP2188734A4 (en) * 2007-08-08 2014-09-24 Innopath Software Inc Push and clone configuration management for mobile devices
US20090172547A1 (en) * 2007-12-31 2009-07-02 Sparr Michael J System and method for dynamically publishing multiple photos in slideshow format on a mobile device
US8081963B2 (en) 2008-02-12 2011-12-20 Microsoft Corporation Utilizing mobile device functionality from remote computers
US20100262582A1 (en) 2009-04-10 2010-10-14 Microsoft Corporation Content synchronization across multiple computers
US7921150B1 (en) * 2009-10-23 2011-04-05 Eastman Kodak Company Method for viewing videos on distributed networks
US9104438B2 (en) 2009-12-03 2015-08-11 International Business Machines Corporation Mapping computer desktop objects to cloud services within a cloud computing environment
US9208482B2 (en) * 2010-04-09 2015-12-08 Paypal, Inc. Transaction token issuing authorities
US8380177B2 (en) * 2010-04-09 2013-02-19 Paydiant, Inc. Mobile phone payment processing methods and systems
US9560468B2 (en) * 2011-01-31 2017-01-31 Parallel Limited, LLC Communication system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060161516A1 (en) 2005-01-14 2006-07-20 Microsoft Corporation Method and system for synchronizing multiple user revisions to a shared object

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2772007A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9143966B2 (en) 2014-01-20 2015-09-22 Nokia Technologies Oy Remote access to a wireless device

Also Published As

Publication number Publication date
JP2015502596A (en) 2015-01-22
WO2013063162A3 (en) 2013-07-04
CN103907311B (en) 2018-05-15
EP2772007A2 (en) 2014-09-03
US9716744B2 (en) 2017-07-25
CN103907311A (en) 2014-07-02
KR101923255B1 (en) 2018-11-28
EP2772007A4 (en) 2015-05-27
US20130110979A1 (en) 2013-05-02
KR20140093219A (en) 2014-07-25

Similar Documents

Publication Publication Date Title
JP6621543B2 (en) Automatic update of hybrid applications
US9298747B2 (en) Deployable, consistent, and extensible computing environment platform
JP2016529599A (en) Content clipboard synchronization
US9716744B2 (en) Remote access from mobile devices
EP2527999A1 (en) Method and apparatus for splitting media files
JP6215359B2 (en) Providing access to information across multiple computing devices
CN103946845A (en) Client application file access
TW201128404A (en) Input content to application via web browser
US9930063B2 (en) Random identifier generation for offline database
CN103399899A (en) Directory oplock
US20140181213A1 (en) Prioritizing structural operations and distributing changes in a synced online content management system
TW201903604A (en) System and method for application navigation
WO2013101169A1 (en) Sharing data amoung smart devices and a cloud network
US9942287B2 (en) Information processing system, terminal device, and method
US11442892B2 (en) File and data migration to storage system
KR20100058108A (en) Mrthod for synchronizing digital contents between digital apparatus
JP6287335B2 (en) Terminal device, information processing system, information transmission method, and program
US9100385B1 (en) Management and synchronization of electronic media content information
JP6248185B2 (en) Internet-accessible data storage view of activity showing users recent relevant content
EP3105908B1 (en) Implementing server push at server stack
KR20160070255A (en) Providing system, method for real time canvas, program and recording medium thereof
JP6375839B2 (en) Terminal device, information processing system, information transmission method, and program
US9141634B2 (en) Method for automatic data replication and terminal
KR102246581B1 (en) Method for uploading file via cloud computing environment, and proxy server for executing the same
US20200137009A1 (en) Orchestrated message delivery

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12843163

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 2012843163

Country of ref document: EP

ENP Entry into the national phase in:

Ref document number: 2014538964

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase in:

Ref document number: 20147011237

Country of ref document: KR

Kind code of ref document: A