Computer-implemented method, system, and computer program product for sharing data structure values ​​between applications (Sharing data structure values ​​between software applications)

The operating system-level messaging system allows seamless data sharing by defining data structures with specific topic names, enabling automatic data population across applications, thus addressing inefficiencies in manual entry and copy-and-paste methods.

JP7754588B2Active Publication Date: 2025-10-15INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2021179588
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-11-04
Filing Date
2021-11-02
Publication Date
2025-10-15
Estimated Expiration
2041-11-02

AI Technical Summary

Technical Problem

Existing methods for sharing data structure values between software applications, such as banking information, require manual entry or multiple copy-and-paste actions, which are inefficient and cumbersome.

Method used

A computer-implemented method and system that utilizes an operating system-level messaging system to define data structures with specific topic names, allowing applications to register interest, identify and store data elements, and make them available to subscribed applications for seamless data population.

Benefits of technology

Enables automatic and efficient sharing of data structure values across applications, eliminating the need for manual entry or multiple copy-and-paste actions, and facilitating rapid and automatic reuse of data structures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007754588000001
    Figure 0007754588000001
  • Figure 0007754588000002
    Figure 0007754588000002
  • Figure 0007754588000003
    Figure 0007754588000003
Patent Text Reader

Abstract

To provide a computer-implemented method, system and computer program product for sharing data structure values between applications.SOLUTION: A method for sharing data structure values between applications via messaging in a computer operating system comprises: defining multiple data structures each having a specific topic name and including a collection of defined formats of multiple data elements; registering applications' interest in topics; identifying, within an application, a collection of multiple data elements having the formats of a defined data structure; storing an item in association with the specific topic name of the defined data structure, where the item is a collection of data values of the identified data elements; and making the item available to an application registered to the topic for input of the values in a corresponding data structure in the application.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to sharing data structure values ​​between software applications, and more particularly to sharing data structure values ​​between applications via messaging in an operating system. [Background technology]

[0002] A user of a computing device may want to use details received in one application within another application on the device. For example, a user may receive banking information via a message and enter the banking information into a banking application to make a payment. The banking information consists of multiple fields, including at least an account name, a sort number, and an account number.

[0003] One option is for the user to make a separate note of the banking information to refer to when switching between applications. Another option is for the user to perform a copy-and-paste action for each banking value. To transfer the information requires a simple copy-and-paste three times between the messaging application and the banking application. Summary of the Invention [Problem to be solved by the invention]

[0004] A computer-implemented method, system, and computer program product for sharing data structure values ​​between applications is provided. [Means for solving the problem]

[0005] According to one aspect of the present invention, a computer-implemented method for sharing data structure values ​​between applications via messaging in an operating system is provided. The computer-implemented method includes defining a plurality of data structures, each having a specific topic name, the data structures including a collection of a plurality of data elements in a defined format. The computer-implemented method includes registering an application's interest in the topic. The computer-implemented method includes identifying within the application a collection of a plurality of data elements having the format of the defined data structure and storing an item associated with the specific topic name in the defined data structure, the item being a collection of data values ​​for the identified data elements. The computer-implemented method includes making the item available to applications subscribed to the topic to populate corresponding data structures within the application.

[0006] According to another aspect of the present invention, a system for sharing data structure values ​​between applications via messaging in an operating system is provided. The system includes a processor and a memory configured to provide computer program instructions to the processor to execute functions of components of the data value transfer system. The components include a data structure definition component for defining a plurality of data structures, each having a specific topic name, the data structures including a collection of a plurality of data elements in a defined format. The components include a topic component for registering an application's interest in the topic. The components include an identification component for identifying within the application a collection of a plurality of data elements having the defined data structure format. The components include an item storage component for storing items associated with the specific topic name of the defined data structure, the items being a collection of data values ​​for the identified data elements. The components include an item access component for making the items available to applications subscribed to the topic to populate corresponding data structures within the application.

[0007] According to another aspect of the present invention, a computer program product for sharing data structure values ​​between applications via messaging in an operating system is provided. The computer program product includes a computer-readable storage medium having program instructions embodied thereon, the program instructions being executable by a processor. The program instructions cause the processor to define a plurality of data structures, each having a specific topic name, the data structures including a collection of a plurality of data elements in a defined format. The program instructions cause the processor to register an application's interest in the topic. The program instructions cause the processor to identify within the application a collection of a plurality of data elements having the defined data structure format and store an item associated with the specific topic name in the defined data structure, the item being a collection of data values ​​for the identified data elements. The program instructions cause the processor to make the item available to applications subscribed to the topic to populate corresponding data structures within the application.

[0008] The computer-readable storage medium may be a non-transitory computer-readable storage medium, and the computer-readable program code may be executable by a processing circuit.

[0009] The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, both as to organization and method of operation, together with its objects, features and advantages, may best be understood by reference to the following detailed description when read in conjunction with the accompanying drawings. Preferred embodiments of the invention will now be described, by way of example only, with reference to the following drawings, in which: [Brief explanation of the drawings]

[0010] [Figure 1] 1 shows a flow chart of an exemplary embodiment of a method according to the present invention; [Figure 2]1 shows a schematic diagram illustrating an exemplary embodiment of the method according to the invention; [Figure 3] FIG. 1 shows a block diagram of an exemplary embodiment of a system according to the present invention. [Figure 4] FIG. 1 shows a block diagram of an exemplary embodiment of a computer system in which the present invention may be implemented. DETAILED DESCRIPTION OF THE INVENTION

[0011] It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some elements may be exaggerated relative to other elements for clarity. Furthermore, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous features.

[0012] The described method and system uses a messaging system at the computer operating system level to share values ​​of a defined data structure between applications running on the operating system. The defined data structure has a collection of multiple data elements in a defined format and a specific topic name that is used as a messaging topic for sharing values ​​of the data elements of the defined data structure. A messaging topic is defined for the data structure of the collection of data that may be required to be shared between applications.

[0013] The messaging system may include applications that express an interest in a topic, and items in the form of collections of data values ​​for identified data elements are retrieved from the applications, stored in association with a topic name, and made available to other applications that have an interest in the topic.

[0014] The messaging system may be a publish / subscribe messaging system with messages in the form of items published by applications to a message topic name. Other applications subscribe to the topic name and receive the published value of the item.

[0015] In other embodiments, the messaging system may use a different messaging pattern to share items of topical data structure values. For example, rather than pushing items to a topic to which registered applications can subscribe and access the items, a simpler messaging system may provide topic queues for specific applications, and the operating system may place items, in the form of collections of data values, on the application's topic queue.

[0016] A publish / subscribe messaging system defines data structures that can temporarily store values ​​in operating system-level publish / subscribe message topics. When an application identifies an associated data structure, the value is published and stored in the operating system-level message topic. Other applications running on the operating system can subscribe to this message topic to retrieve the associated data structure.

[0017] An application running on the operating system can receive or open data that conforms to a defined data structure. For example, a messaging application can receive a message having data in the form of bank account details, including the account name as a string, a sort code as a six-digit numeric string, and the account number as an eight-digit numeric string. The described method can identify the received data in the message as conforming to a defined data structure having a unique name (e.g., "Bank Account"), and the value of the received data can be published to a message topic for the defined data structure and stored in a message topic queue.

[0018] For example, the other application may be a banking application and may subscribe to a message topic for bank account information. The other application can look up values ​​for the bank account information published by the messaging application and suggest these as inputs for the appropriate fields in the banking application, eliminating the need for the user to manually enter the data or manually copy and paste each component part separately. The defined data structure that is published or subscribed to may be a block that includes structure, field names, etc., that the subscribing application can parse with the expectation that it will be there.

[0019] A data structure can define a type of data having a recognized format. A data structure can include multiple field formats for multiple values ​​within the data structure. A data structure can include text or number strings, images, metadata, Hypertext Markup Language (HTML) attributes, etc. Data structure types can include, by way of example, a banking information data structure including fields for account name, sort code, and account number; a credit card information data structure including fields for account name, account number, card security number, and expiration date; a package delivery information data structure including fields for tracking code and zip code; an identity information data structure including fields for name and ID or passport number; a data format including an image with associated metadata, etc.

[0020] Once a data structure is defined, each component within it can be given a label. For example, a "Bank Accounts" data structure has a label for account name, a label for sort code, and a label for account number. When an application subscribes to the "Bank Accounts" topic and looks up the published values, it uses the internal labels to match the data components to the corresponding user interface labels in the application and inserts the values ​​into the correct fields in the user interface.

[0021] 1, a flow diagram 100 illustrates an exemplary embodiment of the described method for sharing data structure values ​​among applications via an operating system, the method being performed in an operating system-level messaging system.

[0022] Multiple data structures can be defined as message topics having topic names within a messaging infrastructure (step 101). A messaging topic is defined for a data structure having multiple fields in the form of data elements, each data element having a defined format. In this manner, a group of related fields is defined as a single data structure. Each data structure may be for a collection of data entry fields of a defined format, such as a string type, media type, or other arrangement.

[0023] Data structures may be predefined at the operating system level as message topics for recognized data structure formats, such as standard bank formats, or may be added by application developers and / or end users for more customized data structures that users may wish to use. This allows customized data formats to be specified by either the application developer or the end user. For example, an application developer may define their own data structure and add it to the operating system-level list of recognized data structures (e.g., via the operating system's application programming interface (OS API)). An end user may also define a data structure on their local device for their own specific club member identification format, for example, including name and number fields.

[0024] The method may configure an operating system with applications that are permitted to send and / or receive values ​​of a defined data structure via a messaging infrastructure (step 102). Values ​​of data elements of the data structure may be grouped as items for transfer via the messaging system. Certain applications may be permitted to only send or only receive values ​​from all or some message topics, while other applications may be permitted to both send and receive, depending on the type and requirements of the application.

[0025] The method can include registering an application's interest in a message topic (step 103), which can be configured by each application as to whether it can provide values ​​and receive values ​​on a topic. In a publish / subscribe messaging system, applications can be configured to publish and / or subscribe to topics in the messaging system. Applications running on the operating system can subscribe to message topics for defined data structures. Each defined data structure is given a unique topic name, and subscribing applications can declare a list of topic names that they will accept. An application can subscribe to one or more message topics related to its functionality, such as a banking application, a browser application used for online purchasing, a delivery application, etc.

[0026] In another embodiment, an application can define a topic queue for a defined data structure at application installation time, and the operating system can then know to place items, in the form of a collection of data values ​​for the defined data structure, directly into the topic queue for the application.

[0027] The operating system can maintain a table of applications and the topics that they are interested in and have declared their support for, so that when the operating system finds a matching data structure, it can find the topic name and push the contents of that structure to all applications that have declared support for that topic.

[0028] The method can identify values ​​that fit the format of the data elements of the defined data structure (step 104). This can be done by pattern recognition of the values ​​or using other known methods of data detection. This can use operating system functionality similar to known data detectors for detecting dates, addresses, etc.

[0029] The method may extract and store the value in storage as an item associated with the message topic of the defined data structure (step 105). For example, the value item may be stored in a message queue. There may be various ways to control or limit data retention of the item, for example, for a set period of time and / or to a queue depth. This may be configurable at the operating system level or may be user configurable. In one example, a set of values ​​for banking information may only be stored for a short period of time. In another example, the method may be configured such that when a search application searches a particular data structure, it uses that message (data structure instance) and the application communicates back to the message queue to confirm that the message can be deleted.

[0030] The items may include extracted values ​​of data elements of the data structure, which may have associated labels associated with fields of the data elements. The items may be made available to interested applications that have subscribed to the topic of the defined data structure (step 106). When new items become available in the topic, the items may be pushed to all interested applications that have subscribed to the topic, or the applications may periodically pull items from the topic.

[0031] The method allows interested applications subscribed to the message topic to search for the item, and the values ​​of the data elements can be used as suggested inputs to auto-complete fields of matching data structures in the search application (step 107). The method can prompt the user for input to confirm or reject the suggested inputs (step 108).

[0032] Each data element in the defined data structure can be labeled, and when the application retrieves the published value (step 107), the application uses the internal label to match the data element to the corresponding user interface label within the application.

[0033] Referring to FIG. 2, a schematic diagram illustrates an exemplary embodiment of the described method in the context of a computing device 200 having an operating system 210 and two applications having the roles of a publishing application 230 and a subscribing application 240 in a publish / subscribe messaging system.

[0034] The operating system 210 uses a publish / subscribe messaging system 220 that provides messaging middleware functionality. The publish / subscribe messaging system 220 provides messaging in which information providers are decoupled from information consumers. Providers of information, called publishers, categorize published messages into topics, and subscribers express interest in one or more topics and receive only the messages that interest them.

[0035] The publish / subscribe messaging system 220 defines message topic queues 221 for different defined data structures. In this example, the message topic may be for a data structure of banking information.

[0036] Publishing application 230 may have text, data fields, or images that fit into a defined data structure format. In this example, data structure 231 may be bank information in a recognized format with multiple values ​​A 232, B 233, and C 234 of data in the recognized format.

[0037] For account information, the text follows this set format: Account Name: XXX (4 to 18 characters) (Value A232) Account number: XXXXXX (8 digits) (value B233) Sort code: XX-XX-XX (6 digits) (value C234)

[0038] Publishing application 230 may be, for example, a messaging or email application that receives a person's banking information via a text message or text-based document opened in a text editing application. Values ​​232, 233, 234 are published to a data structure's message topic queue 221 as items 222. In some embodiments, for example, if the banking details are captured as a screenshot, optical character recognition may be used to detect and retrieve the data values ​​from the image.

[0039] Subscribing application 240 can subscribe to message topic queue 221 as it is a banking application having fields whose values ​​are required to be entered into equivalent data structure 241. Opening subscribing application 240, a user can interact with the form that matches the data structure. Items 222 with values ​​232, 233, 234 from message topic queue 221 can be published to subscribing application 240 to enable auto-completion in appropriate fields within subscribing application 240. If the data structure is accepted and selected by the user, it can be used to automatically enter the associated values ​​into fields of the associated form in the banking application.

[0040] An example of a simpler implementation of an application-provided topic queue is a banking application that defines an "account details" topic queue for use when the banking application is installed. The operating system knows to put groups that match the defined "account details" data structure into the banking application's topic queue.

[0041] The data format of a data element is not limited to a string of text or numbers. For example, a user may want to copy and paste a digital image from one application to another and can identify an image data structure that contains not only the digital image but also any associated HTML attributes, such as the text defined in the image "alt" attribute. As with the other examples, the advantage of this method is that it facilitates the copying and pasting (or auto-suggestion) of related data sets, rather than just one piece of data at a time.

[0042] Data sharing using the described methods can be used in a manner similar to location services provided at the operating system level for use by applications. Applications may have operating system configuration options to choose whether they want to use this data sharing functionality.

[0043] Users can also choose which applications (that support the feature) on their device are allowed to use it. For example, users can decide to allow this feature in some applications and not others. Queue depth and message retention time can be configured as needed.

[0044] Because of the nature of storing data structures and subscribing to their use, the described method collects appropriate data structures for rapid and automatic reuse. This method generates dynamic form objects to facilitate data entry.

[0045] The method can be applied to any scenario where there is a known standard data structure to be used (eg bank account details, personal identification source, credit card, club membership, delivery tracking code, etc.).

[0046] Referring to FIG. 3, further details of the components of a data value transfer system 320 that provides a data value messaging system provided on an operating system 310 of a computing device 300 will be described.

[0047] The computing device 300 may include circuitry for performing the functions of the described components, which may be at least one processor 301, a hardware module, or a software unit running on at least one processor. Multiple processors executing parallel processing threads may be provided to enable parallel processing of some or all of the component's functions. The memory 302 may be configured to provide computer instructions 303 to the at least one processor 301 to perform the component's functions.

[0048] The data value transfer system 320 can use a messaging infrastructure such as a publish / subscribe messaging system. The data value transfer system 320 can include a data value transfer application interface 331 to provide functionality to the application 330 related to the transfer of data values.

[0049] An application 330 that can run on the operating system 310 can have the ability to provide or retrieve values ​​of defined data structures, for example as a publishing application, a subscribing application, or both. The application 330 can be downloaded to the computing device 300 or can be a web application accessed from a remote server.

[0050] The data value transfer system 320 can include a data structure definition component 321 for defining multiple data structures as message topics, and a configuration component 324 for configuring applications that provide and retrieve values ​​and for defining data structures for the topics.

[0051] The data value transfer system 320 can include a topic component 322 for registering interest in a topic by an application.

[0052] The data structure includes an item receiving component 323 that extracts and receives items of data element values ​​of the data structure from an application 330, and an item storing component 326 that stores the items in association with a particular topic name of the defined data structure. Multiple item storing components 326 may be provided to store items of each topic value for a set time or up to a queue depth, or both.

[0053] An item access component 325 may be provided to make items available to applications 330 subscribed to a topic for populating corresponding data structures within the applications 330 .

[0054] In a publish / subscribe messaging system, the item receiving component 323 may be a publishing component, the item access component 325 may be a subscription component, and the item storing component 326 may be a topic message queue.

[0055] The data value transfer application interface 331 may provide an identification component 332 for identifying data elements of a data structure defined in the application 330, for example, using a pattern recognition component 338 for identifying a collection of multiple data elements having a defined data element format within the application, and an item providing component 333 for providing items to an item receiving component 323 of the data value transfer system 320.

[0056] The data value transfer application interface 331 in the application 330 may include a search component 334 that searches for an item for the value of the data element from the item store component 326, and an auto-complete component 335 that adds the value of the searched item to a field in the application 330. A confirmation component 336 may be provided to accept or reject the auto-complete value suggestion.

[0057] The data value transfer application interface 331 in the application 330 may also include an application configuration component 337 for configuring whether the application can provide and retrieve items from the data value transfer system 320 .

[0058] 4 illustrates a block diagram of components of a computing system that may be utilized in computing device 300, in accordance with one embodiment of the present invention. It should be understood that FIG. 4 is provided only as an illustration of one embodiment and is not intended to imply limitation with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made.

[0059] The computing system may include one or more processors 402, one or more computer-readable RAMs 404, one or more computer-readable ROMs 406, one or more computer-readable storage media 408, device drivers 412, read / write drives or interfaces 414, and network adapters or interfaces 416, all interconnected via a communications fabric 418. The communications fabric 418 may be implemented in any architecture designed to pass data and / or control information between processors (such as microprocessors, communications processors, network processors), system memory, peripheral devices, and any other hardware components in the system.

[0060] One or more operating systems 410 and application programs 411 are stored, for example, on one or more computer-readable storage media 408 and executed by one or more processors 402 via one or more of the respective RAMs 404 (which typically include cache memory). In the illustrated embodiment, each of the computer-readable storage media 408 may be an internal hard drive magnetic disk storage device, a CD-ROM, a DVD, a memory stick, a magnetic tape, a magnetic disk, an optical disk, a semiconductor storage device such as a RAM, a ROM, an EPROM, a flash memory, or any other computer-readable storage medium capable of storing computer programs and digital information, in accordance with an embodiment of the present invention.

[0061] The computing system may also include a R / W drive or interface 414 for reading from and writing to one or more portable computer-readable storage media 426. Application programs 411 on the computing system are stored on one or more of the portable computer-readable storage media 426, read via the respective R / W drive or interface 414, and loaded into the respective computer-readable storage media 408.

[0062] The computing system may also include a network adapter or interface 416, such as a TCP / IP adapter card or a wireless communication adapter. Application programs 411 on the computing system may be downloaded to the computing device from an external computer or external storage device via a network (e.g., the Internet, a LAN, other WAN, or a wireless network) and the network adapter or interface 416. From the network adapter or interface 416, the programs may be loaded into the computer-readable storage medium 408. The network may include copper wire, optical fiber, wireless transmissions, routers, firewalls, switches, gateway computers, and edge servers.

[0063] The computing system may also include a display screen 420, a keyboard or keypad 422, and a computer mouse or touchpad 424. A device driver 421 interfaces to the display screen 420 for image formation, the keyboard or keypad 422, the computer mouse or touchpad 424, and / or the display screen 420 for alphanumeric character entry and pressure sensing of user selections. The device driver 412, the R / W drive or interface 414, and the network adapter or interface 416 may include hardware and software stored in the computer readable storage medium 408 and / or the ROM 406.

[0064] The computing system may be a communication device, a smartphone, or a computing device having telephone capabilities and including communication elements for connecting to a communication channel (e.g., a cellular phone network, a data transmission network, a WiFi network, a satellite telephone network, an Internet network, a satellite Internet network, etc.).

[0065] The present invention may be a system, method, or computer program product, or combination thereof, integrated at any possible level of technical detail. The computer program product may include a computer-readable storage medium having stored thereon computer-readable program instructions for causing a processor to carry out aspects of the present invention.

[0066] A computer-readable storage medium may be a tangible device capable of retaining and storing instructions for use by an instruction execution device. The computer-readable storage medium may be, for example, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or a suitable combination thereof. More specific examples of computer-readable storage media include portable computer diskettes, hard disks, RAM, ROM, EPROM (or flash memory), SRAM, CD-ROMs, DVDs, memory sticks, floppy disks, mechanically encoded devices having instructions recorded on punch cards or ridge-in-groove structures, and suitable combinations thereof. As used herein, a computer-readable storage device should not be construed as a transitory signal per se, such as an electric wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse passing through a fiber optic cable), or an electrical signal transmitted over a wire.

[0067] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computer / processing device. Alternatively, they can be downloaded to an external computer or external storage device via a network (e.g., the Internet, a LAN, a WAN, or a wireless network, or a combination thereof). The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computer / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions to a computer-readable storage medium in the respective computer / processing device for storage.

[0068] The computer-readable program instructions for carrying out the operations of the present invention may be either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk and C++, and procedural programming languages ​​such as the "C" programming language and similar programming languages. The computer-readable program instructions may execute entirely on the user's computer as a stand-alone software package, partially on the user's computer, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network, including a LAN or WAN, or may be connected to an external computer (e.g., via the Internet using an Internet Service Provider). In some embodiments, electronic circuitry, including, for example, programmable logic circuits, field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), can execute computer readable program instructions by utilizing state information of the computer readable program instructions to customize the electronic circuitry for carrying out aspects of the present invention.

[0069] Aspects of the present invention are described herein with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. Each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.

[0070] The computer-readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus to produce a machine, whereby the instructions, executed by the processor of such computer or other programmable data processing apparatus, create means for performing the functions / acts identified in one or more blocks of the flowcharts and / or block diagrams. The computer-readable program instructions may also be stored on a computer-readable storage medium that can instruct a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner. The computer-readable storage medium having instructions stored thereon thereby constitutes an article of manufacture including instructions for performing aspects of the functions / acts identified in one or more blocks of the flowcharts and / or block diagrams.

[0071] Also, computer-readable program instructions may be loaded into a computer, other programmable device, or other device and a series of operational steps executed on the computer, other programmable device, or other device to create a computer-implemented process, whereby the instructions executing on the computer, other programmable device, or other device perform the functions / operations identified in one or more blocks in the flowcharts and / or block diagrams.

[0072] The flowcharts and block diagrams in the figures of this disclosure illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, including one or more executable instructions for performing a specific logical function. In some implementations, the functions depicted in the blocks may be performed in a different order than that depicted in the figures. For example, two blocks shown in succession may actually be accomplished as a single step, executed simultaneously or substantially simultaneously, executed in a partially or fully overlapping manner, or executed in reverse order, depending on the functionality involved. Note that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system that performs a specific function or operation, or by a combination of dedicated hardware and computer instructions.

[0073] The computer program product of the present invention includes one or more computer-readable hardware storage devices having computer-readable program code stored thereon, the computer-readable program code being executable by one or more processors to perform the methods of the present invention.

[0074] The computer system of the present invention includes one or more processors, one or more memories, and one or more computer-readable hardware storage devices, the one or more hardware storage devices including program code executable by the one or more processors via the one or more memories to implement the methods of the present invention.

[0075] The description of various embodiments of the present invention is presented for illustrative purposes, but is not intended to be exhaustive or limited to the disclosed embodiments. It will be apparent to those skilled in the art that many modifications and variations are possible without departing from the scope and spirit of the described embodiments. The terms used herein have been selected to best explain the principles of the embodiments, practical applications or technical improvements to technology found in the market, or to enable those skilled in the art to understand the embodiments described herein.

[0076] Improvements and modifications to the above can be made without departing from the scope of the present invention.

Claims

1. 1. A computer-implemented method for sharing data structure values ​​between applications via messaging in a computer operating system, comprising: defining a plurality of data structures, each having a particular topic name, the data structures including a set of a plurality of data elements in a defined format; Registering an application's interest in a topic; identifying within an application a collection of a plurality of data elements having the format of a defined data structure and storing an item associated with the particular topic name in the defined data structure, the item being a collection of data values ​​of the identified data elements; making the items available to applications subscribed to the topic to populate corresponding data structures within the applications; Including, 1. A computer-implemented method comprising: configuring, in an operating system, applications that are authorized to register interest in topics and / or provide items for the topics; and exposing to a user a list of topic names along with registered interest by the applications for access control by the user.

2. 2. The method of claim 1, wherein the data elements in the defined data structure each have a label that is compatible with a user interface label in a receiving application to auto-complete a field with the data value of the data element provided in the item.

3. The method of claim 1 , wherein the defined format of the data element includes one or more of the following group: a string type, a character placement type, an image data type, and a metadata attribute.

4. 2. The method of claim 1, wherein storing the items in association with the particular topic name comprises storing the items for a set period of time, or for a number of stored items of the topic name, or both.

5. 2. The method of claim 1, wherein identifying a set of a plurality of data elements within an application includes providing an application interface to pattern recognition for the data elements within the application and using the pattern recognition.

6. The method of claim 1 , further comprising defining a data structure by a user with a topic name set by the user.

7. 10. The method of claim 1, comprising configuring in the application whether the application can register an interest in a topic, or whether the application can contribute items for a topic, or both.

8. the messaging is a publish / subscribe messaging infrastructure provided by an operating system; Registering interest by an application involves registering a subscriber to a topic, The method of claim 1 , wherein storing the item comprises publishing the item to a topic queue for transmission to subscribing applications.

9. The method of claim 1 , wherein sending the items to an application comprises an application that periodically pulls items for a topic.

10. 1. A system for sharing data structure values ​​between applications via messaging in an operating system, comprising: a processor and a memory configured to provide computer program instructions to said processor for performing functions of a component of a data value transfer system, said component comprising: a data structure definition component that defines a plurality of data structures, each having a particular topic name, the data structures including a collection of defined formats of a plurality of data elements; a topic component for registering an application's interest in a topic; an identification component for identifying within an application a collection of data elements having the format of a defined data structure; an item store component for storing items associated with the particular topic name in the defined data structure, the items being collections of data values ​​of the identified data elements; an item access component for making the item available to applications subscribed to the topic for populating corresponding data structures within the applications; Including, The system includes a configuration component for configuring applications in the operating system that are permitted to register interest in topics or provide items for topics, or both, and for exposing to users a list of topic names along with registered interest by the applications for access control by the users.

11. 1. A system for sharing data structure values ​​between applications via messaging in an operating system, comprising: a processor and a memory configured to provide computer program instructions to said processor for performing functions of a component of a data value transfer system, said component comprising: a data structure definition component that defines a plurality of data structures, each having a particular topic name, the data structures including a collection of defined formats of a plurality of data elements; a topic component for registering an application's interest in a topic; an identification component for identifying within an application a collection of data elements having the format of a defined data structure; an item store component for storing items associated with the particular topic name in the defined data structure, the items being collections of data values ​​of the identified data elements; an item access component for making the item available to applications subscribed to the topic for populating corresponding data structures within the applications; Including, A system including an application interface component for interfacing with the data value transfer system, the application interface component including an item providing component for providing items for a topic and a search component for searching for items for a topic.

12. 12. The system of claim 11, wherein the data structure definition component includes providing the data elements in the defined data structure in association with labels that are compatible with user interface labels in a receiving application, and auto-completing fields with the data values ​​of the data elements provided in the item.

13. 12. The system of claim 11, wherein the item storage component stores the items in association with the particular topic name and stores the items for a set period of time, or for a number of stored items of the topic name, or both.

14. The system of claim 11 , wherein the application interface component includes a pattern recognition component for identifying within an application a collection of data elements having the defined data element format.

15. The system of claim 11 , wherein the application interface components include an auto-complete component that matches labels of data element values ​​of items to user interface labels to auto-complete fields with the data element values ​​in the application.

16. 12. The system of claim 10 or 11, including a confirmation component that prompts a user for input to confirm or reject an auto-complete field within an application.

17. the messaging is provided by a publish / subscribe messaging infrastructure provided by an operating system; The topic component for registering interest by an application registers a subscriber to a topic; The system of claim 10 or 11, wherein the item storage component for storing items publishes items to a topic queue for transmission to subscribing applications.

18. 1. A computer program for sharing data structure values ​​between applications via messaging in an operating system, the computer comprising: defining a plurality of data structures, each having a particular topic name, the data structures including a set of a plurality of data elements in a defined format; Registering an application's interest in a topic; identifying within an application a collection of a plurality of data elements having the format of a defined data structure and storing an item associated with the particular topic name in the defined data structure, the item being a collection of data values ​​of the identified data elements; making the items available to applications subscribed to the topic to populate corresponding data structures within the applications; Execute A computer program that runs in an operating system to configure applications that are authorized to register interest in topics and / or submit items for topics, and to expose to users a list of topic names along with registered interest by the applications for access control by the users.

Citation Information

Patent Citations

  • Method and system for publish / subscribe messaging and computer program (publish / subscribe messaging using message structure)

    JP2018501548A

  • Document processing device and program

    WO2008041357A1

  • Application association system, application association method, recording medium and application association program

    WO2008065835A1