US9910977B2 - Data sharing between multiple applications running on a mobile device - Google Patents

Data sharing between multiple applications running on a mobile device Download PDF

Info

Publication number
US9910977B2
US9910977B2 US14/600,073 US201514600073A US9910977B2 US 9910977 B2 US9910977 B2 US 9910977B2 US 201514600073 A US201514600073 A US 201514600073A US 9910977 B2 US9910977 B2 US 9910977B2
Authority
US
United States
Prior art keywords
application
access
data
mobile device
obtaining
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.)
Active, expires
Application number
US14/600,073
Other languages
English (en)
Other versions
US20150227736A1 (en
Inventor
Hongwei Guo
Long He
Fangming Li
Xiao Qiu Tang
Xi Ning Wang
Jing Zhang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HE, LONG, LI, FANGMING, TANG, XIAO QIU, ZHANG, JING, GUO, HONGWEI, WANG, XI NING
Publication of US20150227736A1 publication Critical patent/US20150227736A1/en
Application granted granted Critical
Publication of US9910977B2 publication Critical patent/US9910977B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/086Access security using security domains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/40Security arrangements using identity modules
    • H04W12/43Security arrangements using identity modules using shared identity modules, e.g. SIM sharing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Definitions

  • the present invention relates generally to data sharing, and more specifically, and more particularly to a method and a computer system for data sharing between multiple applications running on a mobile device.
  • a simple scenario of data sharing is that, for example, a user wants to forward a message that is received by an instant messaging application to a contact in the form of an email.
  • the user first opens the instant messaging application, finds a message to be forwarded, and performs a “copy” operation after selecting the message; afterwards, the user opens the email application, performs a “paste” operation in an email edit window and presses the “send” button, thereby fulfilling desired actions.
  • the user has to manually perform a series of operations such as opening, selecting, copying, opening, pasting and sending. Therefore, how to share data between applications conveniently and rapidly becomes a problem.
  • the technical solution can achieve data sharing without modifying existing application code; it is desired the technical solution can provide custom service to users so that they can define what data is shared between which applications; further, it is desired the technical solution can provide a security mechanism with respect to data sharing.
  • a method for data sharing between multiple applications running on a mobile device comprising: receiving from a second application among the multiple applications an access request to first data in a first application among the multiple applications; and enabling the second application to access the first data via a sharing zone between the first application and the second application in response to the access request, wherein the sharing zone is built by: obtaining an access right over the first data; obtaining an access policy assigned by the first application to the second application for access to the first data; and building the sharing zone according to the access policy by using the access right.
  • building the sharing zone according to the access policy by using the access right comprises: storing in the sharing zone an address mapping pointing to the first data of the first application.
  • enabling, in response to the access request, the second application to access the first data via a sharing zone between the first application and the second application comprises: in response to the access request conforming to the access policy, directing the access request to the first data based on the address mapping.
  • a computer system for data sharing between multiple applications running on a mobile device comprising: a receiving module configured to receive from a second application among the multiple applications an access request to first data in a first application among the multiple applications; and an access module configured to enable the second application to access the first data via a sharing zone between the first application and the second application in response to the access request, wherein the sharing zone is built by: obtaining an access right over the first data; obtaining an access policy assigned by the first application to the second application for access to the first data; and building the sharing zone according to the access policy by using the access right.
  • building the sharing zone according to the access policy by using the access right comprises: storing in the sharing zone an address mapping pointing to the first data of the first application.
  • the access module comprises: a directing module configured to, in response to the access request conforming to the access policy, direct the access request to the first data based on the address mapping.
  • data can be shared between various applications running on a mobile device without changing developed applications.
  • the method and computer system of the present invention can be implemented with respect to different operating systems of mobile devices.
  • FIG. 1 schematically shows an exemplary mobile device which is applicable to implement the embodiments of the present invention, in accordance with one embodiment of the present invention.
  • FIG. 2 schematically shows a block diagram of a method for data sharing between multiple applications according to one solution, in accordance with one embodiment of the present invention.
  • FIG. 3 schematically shows a block diagram of a method for data sharing between multiple applications, in accordance with one embodiment of the present invention.
  • FIG. 4 schematically shows a flowchart of a method for data sharing between multiple applications, in accordance with one embodiment of the present invention.
  • FIGS. 5A and 5B schematically show block diagrams of applications installed on a mobile device, in accordance with one embodiment of the present invention.
  • FIG. 6 shows a schematic view where an instant messaging application accesses data in an email application, in accordance with one embodiment of the present invention.
  • FIG. 7 schematically shows a block diagram of an apparatus for data sharing between multiple applications, in accordance with one embodiment of the present invention.
  • aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
  • the computer readable medium may be a computer readable signal medium or a computer readable storage medium.
  • a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
  • a computer readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.
  • a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof.
  • a computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
  • Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, radio frequency (RF), etc., or any suitable combination of the foregoing.
  • any appropriate medium including but not limited to wireless, wireline, optical fiber cable, radio frequency (RF), etc., or any suitable combination of the foregoing.
  • Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object-oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
  • the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or server or entirely on the remote computer or server.
  • the remote computer or server may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
  • LAN local area network
  • WAN wide area network
  • Internet Service Provider for example, AT&T, MCI, Sprint, EarthLink, MSN, GTE, etc.
  • These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
  • the computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • mobile device 12 is applicable to implement the embodiments of the present invention.
  • Mobile device 12 is only illustrative and is not intended to suggest any limitation as to the scope of use or functionality of embodiments of the invention described herein.
  • mobile device 12 is shown in the form of a general-purpose computing device.
  • the components of mobile device 12 may include, but are not limited to, one or more processors or processing units 16 , a system memory 28 , and a bus 18 that couples various system components including system memory 28 to processing unit 16 .
  • Bus 18 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures.
  • bus architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
  • Mobile device 12 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by mobile device 12 , and it includes both volatile and non-volatile media, removable and non-removable media.
  • System memory 28 can include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and/or cache memory 32 .
  • Mobile device 12 may further include other removable/non-removable, volatile/non-volatile computer system storage media.
  • storage system 34 can be provided for reading from and writing to a non-removable, non-volatile magnetic media (not shown and typically called a “hard drive”).
  • a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a “floppy disk”).
  • an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM or other optical media can be provided.
  • memory 28 may include at least one program product having a set (at least one) of program modules that are configured to carry out the functions of embodiments of the invention.
  • Program/utility 40 having a set (at least one) of program modules 42 , may be stored in memory 28 by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating systems, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment.
  • Program modules 42 generally carry out the functions and/or methodologies of embodiments of the invention as described herein.
  • Mobile device 12 may also communicate with one or more external devices 14 such as a keyboard, a pointing device, a display 24 , etc.; one or more devices that enable a user to interact with mobile device 12 ; and/or any devices (e.g., network card, modem, etc.) that enable mobile device 12 to communicate with one or more other computing devices. Such communication can occur via Input/Output (I/O) interfaces 22 . Still yet, mobile device 12 can communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and/or a public network (e.g., the Internet) via network adapter 20 . As depicted, network adapter 20 communicates with the other components of mobile device 12 via bus 18 .
  • LAN local area network
  • WAN wide area network
  • public network e.g., the Internet
  • mobile device 12 could be used in conjunction with mobile device 12 .
  • Examples include, but are not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID (redundant array of independent disks) systems, tape drives, and data archival storage systems, etc.
  • FIG. 2 schematically shows block diagram 200 of a method for data sharing between multiple applications according to one solution.
  • operating system 210 may be installed on the mobile device; operating system 210 may be, for example, an iOS, an Android operating system, or any other possible operating system, and used for providing functions like processor management and memory management for the running of the mobile device.
  • first application 220 and second application 230 may be installed on operating system 210 , such as an instant messaging application, an email application, an image processing application, a gaming application, etc.
  • respective data e.g., first data 222 and second data 232
  • first application 220 can only access its own first data 222
  • second application 230 can only access its own second data 232 .
  • data is private data of an application.
  • Data sharing between various applications, when necessary, is implemented by above-mentioned copy/paste.
  • the copy/paste can achieve data sharing to some extent, such sharing is completed through user manual operations by means of the operating system's “pasteboard”, which is time-consuming and laborious; on the other hand, data objects to be copied/pasted are also limited, for example, only data of such types as text and image can be copied; moreover, due to limitations of the “pasteboard” capacity, the user can only copy limited data each time.
  • a ContentProvider service allows application developers to set a policy about sharing data with other applications in design/development phase (rather than running phase). Once the development of an application is completed, the sharing policy cannot be modified in runtime.
  • FIG. 3 schematically shows block diagram 300 of a method for data sharing between multiple applications according to one embodiment of the present invention.
  • the user can define access policy 310 with respect to access to data in applications. For example, it may be specified in access policy 310 that second application 230 can access first data 222 in first application 220 , and access right is read-only access.
  • a sharing zone 320 may be set for second application 230 to access first data 222 in first application 220 .
  • the access process may be shown below: first of all, second application 230 requests to access first data 222 in first application 220 via sharing zone 320 (as shown by arrow A); the request is directed to an address of first data 222 in first application 220 (as shown by arrow B); and subsequently, accessed data is returned to second application 230 via sharing zone 320 (as shown by arrows C and D).
  • sharing zone 320 can access data in each application.
  • second application 230 can access first data 222 in first application 220 .
  • sharing zone 320 may act as an intermedium when faced with various applications running on the mobile device.
  • the sharing zone may be implemented using address mapping. For example, the sharing zone may record addresses of data that used to be “private” to various applications, so that other applications can access these addresses.
  • FIG. 3 illustrates only two applications, namely first application 220 and second application 230 , those skilled in the art may achieve data sharing between multiple applications based on the principles described in the present invention.
  • a third application can access data in first application 220 .
  • each access right may be defined, such as read-only rights or read/write rights.
  • a method for data sharing between applications running on a mobile device comprising: receiving from a second application among the applications an access request to first data in a first application among the applications; and in response to the access request, enabling the second application to access the first data via a sharing zone between the first application and the second application, wherein the sharing zone is built by: obtaining an access right over the first data; obtaining an access policy assigned by the first application to the second application for access to the first data; and building the sharing zone according to the access policy by using the access right.
  • FIG. 4 schematically shows flowchart 400 of a method for data sharing between multiple applications according to one embodiment of the present invention.
  • step S 402 an access request to first data in a first application among the applications is received from a second application among the applications.
  • the second application in response to the access request, is enabled to access the first data via a sharing zone between the first application and the second application.
  • import information is stored in the sharing zone pointing to an accessible portion of the first data in the first application. Therefore, when receiving the access from second application to the first data, the second application is directed via the sharing zone to access the first data in the first application.
  • first application and second application throughout the context of the present invention are merely two examples of the “multiple applications” running on the mobile device, and concrete functions of each application are not limited here.
  • first and second in the present invention are only intended to differentiate applications, and there is no ordering between two applications. Specifically, when the email application accesses chat records in the instant messaging application, the instant messaging application and the email application correspond to the first application and the second application, respectively; when the instant messaging application accesses received mails in the email application, the email application and the instant messaging application correspond to the first application and the second application, respectively.
  • the sharing zone is built by: obtaining an access policy assigned by the first application to the second application for access to the first data; building the sharing zone according to the access policy by using the access right. Description is presented below to the steps for building the sharing zone.
  • an access right over the first data is obtained.
  • the “access right” in this embodiment may refer to having a “read right” or having both a read operation right and a write operation right. For example, when only read operations to the first data are allowed but write operations are not allowed, the access right may only comprise a read right.
  • an access policy assigned by the first application to the second application for access to the first data is obtained.
  • the access policy refers to which kind of access the second application may perform to the first data in the first application, such as read access and/or write access.
  • the access policy may be applied to all first data in the first application or part of data in the first application.
  • an access policy below may be specified: allowing the email application to access all chat records in the instant messaging application, or only allowing the email application to access chat records related to a specific user in the instant messaging application, or only allowing the email application to access text data but not image data in all chat records.
  • Table 1 shows an example of the access policy according to one embodiment of the present invention.
  • the sharing zone is built according to the access policy by using the access right.
  • the sharing zone acts as intermedium between the first application and the second application, so as to support the second application to access the first data that was “private” to the first application according to the predetermined access policy.
  • the sharing zone is built for a purpose of only opening to the second application the access right that conforms to the access policy, but shielding the second application from rights that do not conform to the access policy.
  • the access policy is that the second application can read a text portion in all chat records
  • the sharing zone there is only provided address information of an area where text data in all chat records is stored, but address information of an area where image data in chat records is stored is not provided.
  • building the sharing zone according to the access policy by using the access right comprises: storing in the sharing zone an address mapping pointing to the first data of the first application.
  • the first data in the first application is stored in file 1 at an address vzone://zone1/app1/ . . . in the mobile device's memory, then a data structure as shown in Table 2 shown below may be stored in the sharing zone.
  • enabling the second application to access the first data via a sharing zone between the first application and the second application comprises: in response to the access request, conforming to the access policy, directing the access request to the first data based on the address mapping.
  • the second application may access the first data via the address mapping as shown in Table 2 above.
  • the embodiment of the present invention further provides a security mechanism, i.e., the second application accesses the first data only by right granted by the access policy.
  • the email application may read chat records to its own email edit window and modify to-be-sent emails in the email edit window but cannot modify raw data of chat records.
  • a finer-grained access policy may further be provided.
  • the access policy comprises at least: data type, and access right with respect to the data type.
  • Table 3 shows another example of the access policy. Specifically, corresponding access rights may be set with respect to different data types in the first data.
  • chat records in the instant messaging application include text data and image data, then respective access rights may be set with reference to different types.
  • a read-only access right may be set with respect to text data, while a read/write access right may be set for image data.
  • FIGS. 5A and 5B schematically show block diagrams 500 A and 500 B of applications installed on a mobile device according to one embodiment of the present invention.
  • an access right over the first data may be obtained using different approaches.
  • obtaining an access right over the first data comprises: obtaining the access right at an operating system hierarchy of the mobile device.
  • An application environment of this embodiment is as shown in FIG. 5A .
  • Both first application 220 A and second application 230 A are installed on a mobile device 510 A, and they are two independent applications, wherein first application 220 A can only access its own first data 222 A and application 230 A can only access its own second data 232 A.
  • the access right over first data 222 A may be obtained at the operating system hierarchy of the mobile device.
  • data access operations may be executed at the operating system hierarchy.
  • the first data resides in an external storage of the mobile device, and obtaining an access right over the first data comprises: obtaining the access right based on access to the external storage.
  • An application environment of this embodiment is shown in FIG. 5B .
  • control portion (first application 220 B) and the data portion (first data 222 B) in the application are installed on a mobile device 510 B and an external storage 520 B (e.g., an external SD card of a mobile device with the Android system).
  • an external storage 520 B e.g., an external SD card of a mobile device with the Android system.
  • access to first data 222 B on external storage 520 B can be implemented without the operating system hierarchy.
  • the access right may be obtained based on access to the external storage (i.e., data is read from and/or written to external storage 520 B).
  • FIG. 6 shows schematic view 600 where the instant messaging application accesses the email application according to one embodiment of the present invention.
  • FIG. 6 schematically shows a user interface of the instant messaging application.
  • the instant messaging application is installed on mobile device 610 , and at this point, two users, Alan and Maria, are chatting to each other.
  • Maria is a user of mobile device 610 , and it is supposed Maria wants to forward a received email to Alan.
  • a comparison between operations according to the prior art and according to the technical solution of the present invention is as below.
  • Maria may first open a to-be-forwarded mail in the email application, copy all contents of the mail to a paste board, paste copied contents to message edit box 630 of the instant messaging application, and then click on send button 640 before completing the forwarding step; or Maria may first save the to-be-forwarded mail as a separate file and send the file to Alan as an attachment.
  • Maria may click on button 620 shown in “+” for accessing shared data, whereby an interface as shown in shadow portion 650 in FIG. 6 will pop up, the shadow portion showing 3 applications, namely an email application, a gaming application and an image application. All three applications are accessible by the current instant messaging application.
  • Maria only needs to select the “email application” to select an email to be forwarded to Alan in an interface where the email application pops up, and press send button 640 to forward the email to Alan directly.
  • obtaining an access policy assigned by the first application to the second application on access to the first data comprises at least one of: obtaining the access policy from rules defined by a user of the mobile device; and obtaining the access policy from agreements between providers of the first application and the second application.
  • the embodiment of the present invention provides personalized custom service.
  • the user may use the method of the present invention to customize a sharing policy between different applications.
  • the user may define: the email application can access all historical records in the instant messaging application, the instant messaging application can access all information in the gaming application, while the gaming application cannot access private data of any other application.
  • providers of different applications may further sign a data sharing agreement, for example, a social network application provider may sign an agreement with an instant messaging application provider so as to share all data between these two applications, etc.
  • a social network application provider may sign an agreement with an instant messaging application provider so as to share all data between these two applications, etc.
  • the user only needs to import an agreement signed between application providers in advance, thereby completely sharing data between the two applications.
  • the method is implemented independently of the first application and the second application.
  • the technical solution of the present invention does not rely on the development of the first application and the second application, but is a data management method implemented independently of the first application and the second application.
  • the method relies on the mobile device's operating system and may be implemented at the mobile device's operating system hierarchy (e.g., based on iOS, Android operating system or any other possible operating system).
  • FIG. 7 schematically shows block diagram 700 of an apparatus for data sharing between multiple applications according to one embodiment of the present invention.
  • apparatus for data sharing between multiple applications running on a mobile device, comprising: receiving module 710 configured to receive from a second application among the multiple applications an access request to first data in a first application among the multiple applications; and accessing module 730 configured to, in response to the access request, enable the second application to access the first data via sharing zone 720 between the first application and the second application, wherein sharing zone 720 is built by: obtaining an access right over the first data; obtaining an access policy assigned by the first application to the second application for access to the first data; and building the sharing zone according to the access policy by using the access right.
  • building the sharing zone according to the access policy by using the access right comprises: storing in the sharing zone an address mapping pointing to the first data of the first application.
  • access module 730 comprises: a directing module configured to direct the access request to the first data based on the address mapping in response to the access request conforming to the access policy.
  • the access policy comprises at least: data type, and access right with respect to the data type.
  • obtaining an access right over the first data comprises: obtaining the access right at an operating system hierarchy of the mobile device.
  • the first data resides in an external storage of the mobile device, and obtaining an access right over the first data comprises: obtaining the access right based on access to the external storage.
  • obtaining an access policy assigned by the first application to the second application for access to the first data comprises at least one of: obtaining the access policy from rules defined by a user of the mobile device; and obtaining the access policy from agreements between providers of the first application and the second application.
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
  • the functions noted in the block may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
US14/600,073 2014-02-08 2015-01-20 Data sharing between multiple applications running on a mobile device Active 2035-09-13 US9910977B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410046016.6 2014-02-08
CN201410046016.6A CN104836715B (zh) 2014-02-08 2014-02-08 在移动设备上运行的多个应用之间共享数据的方法和装置
CN201410046016 2014-02-08

Publications (2)

Publication Number Publication Date
US20150227736A1 US20150227736A1 (en) 2015-08-13
US9910977B2 true US9910977B2 (en) 2018-03-06

Family

ID=53775175

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/600,073 Active 2035-09-13 US9910977B2 (en) 2014-02-08 2015-01-20 Data sharing between multiple applications running on a mobile device

Country Status (2)

Country Link
US (1) US9910977B2 (zh)
CN (1) CN104836715B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160042491A (ko) * 2014-10-10 2016-04-20 삼성전자주식회사 시간 표시 방법과 이를 지원하는 전자 장치
CN105989296B (zh) * 2015-01-27 2019-03-19 华为技术有限公司 控制应用访问的方法和装置
CN107291560A (zh) 2016-03-31 2017-10-24 北京三星通信技术研究有限公司 一种智能设备的内容确定方法和装置
CN106919634B (zh) * 2016-06-12 2020-09-25 阿里巴巴集团控股有限公司 跨应用共享数据的方法及网页浏览器
CN105873061A (zh) * 2016-06-17 2016-08-17 深圳市创梦天地科技有限公司 终端设备中进行软件之间数据共享的方法和装置
CN107797731B (zh) * 2016-08-29 2021-03-30 中国移动通信有限公司研究院 一种信息处理方法、系统及移动终端
CN106330958B (zh) * 2016-09-29 2020-07-07 上海创功通讯技术有限公司 一种安全访问方法及装置
CN106411714B (zh) * 2016-11-02 2019-09-20 天脉聚源(北京)科技有限公司 一种处理双方交互的方法及装置
KR102390798B1 (ko) 2017-08-22 2022-04-26 삼성전자주식회사 그래픽컬 콘텐트를 제공하는 전자 장치 및 제어 방법
CN108763963B (zh) * 2018-06-12 2022-08-26 北京奇虎科技有限公司 基于数据访问权限的分布式处理方法、装置及系统
CN110083465B (zh) * 2019-04-26 2021-08-17 上海连尚网络科技有限公司 一种寄宿应用间的数据传递方法
US11275631B1 (en) * 2019-09-30 2022-03-15 Amazon Technologies, Inc. Systems, methods, and apparatuses for using shared memory for data between processes
US11403154B1 (en) 2019-09-30 2022-08-02 Amazon Technologies, Inc. Systems, methods and apparatuses for running multiple machine learning models on an edge device
CN111078789B (zh) * 2019-11-25 2023-06-27 泰康保险集团股份有限公司 数据共享方法及装置、存储介质、电子设备
CN113496039B (zh) * 2020-04-08 2024-06-25 青岛海信移动通信技术有限公司 一种权限管理方法及终端
CN112004147A (zh) * 2020-08-20 2020-11-27 北京云中融信网络科技有限公司 一种视频渲染方法、装置、电子设备及存储介质
CN113010224B (zh) * 2021-03-03 2024-01-30 南方电网数字平台科技(广东)有限公司 前端微服务化方法、装置、计算机设备和存储介质
CN114416702B (zh) * 2022-04-01 2022-08-05 杭州筋斗腾云科技有限公司 资源管理方法及计算系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934740B1 (en) 2000-09-19 2005-08-23 3Com Corporation Method and apparatus for sharing common data objects among multiple applications in a client device
WO2008084386A1 (en) 2007-01-12 2008-07-17 Truecontext Corporation Methods and system for orchestrating services and data sharing on mobile devices
US20110161880A1 (en) 2009-12-29 2011-06-30 Cellco Partnership D/B/A Verizon Wireless Browser based objects for copying and sending operations
WO2012044735A2 (en) 2010-10-01 2012-04-05 Imerj, Llc Cross-environment communication using application space api
US20130239192A1 (en) * 2012-03-09 2013-09-12 RAPsphere, Inc. Method and apparatus for securing mobile applications
US20130273879A1 (en) 2012-03-22 2013-10-17 The 41St Parameter, Inc. Methods and systems for persistent cross-application mobile device identification
US20130297662A1 (en) * 2012-01-06 2013-11-07 Rahul Sharma Secure Virtual File Management System
US20140018048A1 (en) 2012-07-10 2014-01-16 International Business Machines Corporation Coordinating data sharing among applications in mobile devices
US8799994B2 (en) 2011-10-11 2014-08-05 Citrix Systems, Inc. Policy-based application management

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7660904B2 (en) * 2004-05-11 2010-02-09 Microsoft Corporation Providing keys to share data within an instant messaging session
CN101739361A (zh) * 2008-11-12 2010-06-16 联想(北京)有限公司 访问控制方法、访问控制装置及终端设备
CN102291717B (zh) * 2011-08-15 2014-12-31 宇龙计算机通信科技(深圳)有限公司 数据保护方法和终端
CN102945233B (zh) * 2011-08-15 2016-01-27 联想(北京)有限公司 电子设备及其数据管理方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934740B1 (en) 2000-09-19 2005-08-23 3Com Corporation Method and apparatus for sharing common data objects among multiple applications in a client device
WO2008084386A1 (en) 2007-01-12 2008-07-17 Truecontext Corporation Methods and system for orchestrating services and data sharing on mobile devices
US20110161880A1 (en) 2009-12-29 2011-06-30 Cellco Partnership D/B/A Verizon Wireless Browser based objects for copying and sending operations
WO2012044735A2 (en) 2010-10-01 2012-04-05 Imerj, Llc Cross-environment communication using application space api
US8799994B2 (en) 2011-10-11 2014-08-05 Citrix Systems, Inc. Policy-based application management
US20130297662A1 (en) * 2012-01-06 2013-11-07 Rahul Sharma Secure Virtual File Management System
US20130239192A1 (en) * 2012-03-09 2013-09-12 RAPsphere, Inc. Method and apparatus for securing mobile applications
US20130273879A1 (en) 2012-03-22 2013-10-17 The 41St Parameter, Inc. Methods and systems for persistent cross-application mobile device identification
US20140018048A1 (en) 2012-07-10 2014-01-16 International Business Machines Corporation Coordinating data sharing among applications in mobile devices

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
"Sending Simple Data to Other Apps", Android Developers, provided in Search Report dated Oct. 24, 2013, <http://developer.android.com/training/sharing/send.html>.
"Storage Options", Android Developers, provided in Search Report dated Oct. 24, 2013, <http://developer.android.com/guide/topics/data/data-storage.html>.
"UIPasteboard Class Reference", Updated Dec. 16, 2013, Copyright © 2014 Apple Inc., <https://developer.apple.com/library/ios/documentation/uikit/reference/uipasteboard-class/index.html>.
"UIPasteboard Class Reference", Updated Dec. 16, 2013, Copyright © 2014 Apple Inc., <https://developer.apple.com/library/ios/documentation/uikit/reference/uipasteboard—class/index.html>.
China Patent Application 201410046016.6 (English Translation), titled "Data Sharing Between Multiple Applications Running on Mobile Device", Filed Feb. 8, 2014.

Also Published As

Publication number Publication date
CN104836715A (zh) 2015-08-12
US20150227736A1 (en) 2015-08-13
CN104836715B (zh) 2018-08-03

Similar Documents

Publication Publication Date Title
US9910977B2 (en) Data sharing between multiple applications running on a mobile device
US10983747B2 (en) Remote desktop mirroring
WO2020063846A1 (zh) 一种用于呈现寄宿程序的更新信息的方法与设备
EP2774023B1 (en) User interface for saving documents using external storage services
US20160092119A1 (en) Data migration between different types of storage systems
US10534627B2 (en) Scalable policy management in an edge virtual bridging (EVB) environment
US9930130B2 (en) Processing hybrid data using a single web client
KR20160014043A (ko) 네트워크 파일 액세스 프로토콜을 통한 효율적이고 프로그래매틱 메모리 액세스
US11237761B2 (en) Management of multiple physical function nonvolatile memory devices
US20150271286A1 (en) Data Transmission
US9317520B2 (en) State scope data file sharing
US20140040446A1 (en) Remote Provisioning of Virtual Appliances for Access to Virtualized Storage
WO2020134833A1 (zh) 一种数据共享方法、装置、设备及系统
US20220291975A1 (en) Techniques for managing access to file systems
US9401866B2 (en) Data packet routing
US9619168B2 (en) Memory deduplication masking
US20160197849A1 (en) Method and Apparatus for Implementing a Messaging Interface
US10656834B2 (en) Transparent CAPI exploitation for legacy application
CN107656702B (zh) 加速硬盘读写的方法及其系统、以及电子设备
KR20220108710A (ko) 연산 저장 장치에 대한 데이터 전송을 위한 시스템 및 방법
US9223513B2 (en) Accessing data in a dual volume data storage system using virtual identifiers
US20140258993A1 (en) Systems and methods for device-specific application generation
US11797358B2 (en) Method and system for performing application programming interface calls between heterogeneous applications and cloud service providers
US12019489B1 (en) System and method for provisioning free standing modules
US9264398B2 (en) Loading an operating system of a diskless compute node using a single virtual protocol interconnect (‘VPI’) adapter

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GUO, HONGWEI;HE, LONG;LI, FANGMING;AND OTHERS;SIGNING DATES FROM 20150109 TO 20150113;REEL/FRAME:034751/0287

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4