Method and system for information exchange encoding and decoding user identities between computer systems

EP4519780A1Inactive Publication Date: 2025-03-12KEZZLER
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
EP2023799749
Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-02-03
Filing Date
2023-05-05
Publication Date
2025-03-12
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Current serialization and track-and-trace systems face challenges in managing and coordinating user identities across multiple computer systems without revealing sensitive information, hindering seamless data exchange and user experience.

Method used

A method and system that establish a unique common intermediary user identity recognizable by both systems, allowing secure communication and data exchange between them without exposing the original user identities, using connector engines to facilitate this process.

Benefits of technology

Enables secure, seamless communication and data exchange between systems, maintaining confidentiality and enhancing user experience by verifying user identity without revealing internal user IDs, thus improving data coordination and functionality across systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 1.1
    Figure 1.1
Patent Text Reader

Abstract

The invention is an information exchange system comprising a first computer system (100) and a second computer system (200), a first, unique user identity (110) internal within said first computer system (100), said first, unique user identity (110) having a first user profile (120) for a first user (105), and a second, unique user identity (210) internal within said second computer system (200), said second unique user identity (210) having a second user profile (220) for a second user (205), wherein said first user (105) and said second user (205) is the same, said first and second computer systems (100, 200) are arranged for managing and preserving said internal first user identity (110) and said internal second user identity (210) as secret within at least one of each said first and second computer system (100, 200), respectively, the system further comprising a) a first connector engine (500) for making a unique common intermediary user identity (310) to said first user identity (110), and b) a second connector engine (600) to decode the unique common intermediary user identity (310) to said second user identity (210), thus said first and second computer systems (100, 200) arranged for verifying that said first user (105) and said second user (205) is the same.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Method and system for information exchange encoding and decoding user identities between computer systems

[0002] Introduction

[0003] The invention relates to a method for exchanging information between a first computer system (100) and a second computer system (200), wherein a first user profile (120) for a first user (105) has a unique first user identity (110) internal within said first computer system (100), and wherein a second user profile (220) for a second user (205) has a unique second user identity (210) internal within said second computer system (200), wherein said first user (105) and said second user (205) is the same, whereby said internal first user identity (110) and said internal second user identity (210) are at all times managed and preserved as secret within each said first and second computer system (100, 200).

[0004] Field and background of the invention

[0005] Serialization of product items and traceability has become increasingly widespread in recent years. Uniquely identifiable product items are recognized and managed by computer-implemented traceability systems in the cloud. When a consumer or other user scans the code a response is returned to the user with information about that particular product item. As the demand for traceability and serialization has increased, an increasing number of traceability systems have been implemented and development of these systems has therefore accelerated.

[0006] In recent years the ability for a brand owner to identify and follow the product from its creation to end of life is becoming more and more important. This is the essential task of the serialization / track and trace system. It supports functions such as consumer engagement, product returns, product recalls, product repairs, product recycling, product spare parts, etc. Legislation in EU and the USA has essentially these functions required.

[0007] Further, with the development efforts in this field follows an increasing number of functions and services in serialization and track and trace systems. And they are being designed and dedicated for communicating with a user / consumer that scans and interacts with a unique serialized item.

[0008] Essentially in many cases a serialized product and its unique code is associated with (or “owned by”) a consumer that is managing the item. For the brand owner this is a new opportunity, a way of getting in contact with its customers / users that previously at least in practical terms was hardly possible.

[0009] Brief Description of the Drawings

[0010] Fig. 1 shows a consumer / user (105, 205) with a handheld communicating computer (401) arranged for communication, such as a mobile with a mobile app (400).

[0011] Fig. 1 B illustrates a track & trace system (700) for serialized items (720).

[0012] Fig. 2. illustrates the user (105, 205) in a context among several computer systems.

[0013] Fig. 3 roughly illustrates a situation, a problem that the current invention provides a solution for.

[0014] Fig. 4 sketches an improved situation wherein the same user's (105, 205) user profiles (120, 220) can be virtually exchanged between the systems (100, 200) and the consumer's user experience wherein the two systems (100, 200) are perceived and observed as one single and coherent system.

[0015] Fig. 5 illustrates the principle of how the present invention works. The first computer system (100) "BOS", is coordinating and communicating with the second computer system (200) "CES" using their respective User ID (110, 210) via connector engines (500, 600), respectively, concerning a user (105, 205). Fig. 6 illustrates the steps and process wherein the second computer system (200) CES requests information from the first computer system (100) BOS concerning the second user ID (210) CES_ID (internal reference).

[0016] Fig. 7 illustrates the process and flow of sending a request from the BOS to the CES.

[0017] Fig. 8 illustrates two endpoints T1 and T2.

[0018] Fig. 9 illustrates the second computer system (200) CES needs information about a given second user ID (210) CES_ID, which is internal to the second compter system (200), wherein the second user ID (210) = 45576.

[0019] Fig. 10 illustrates the first computer system (100) BOS uses the relevant encryption key: I KeylD obtains the correct xRef. From table this key is 603.

[0020] . 11 and 12 illustrate an embodiment of the invention a one way function where hashing, is being used, wherein the intermediate user ID (310) xRef is established by hashing with a salt value. iqs. 13 and 14 illustrate two endpoints T1 and T2.

[0021] Fig. 15 illustrates symbolically of a useful component employed in the invention, the first User ID connector engine (500).

[0022] Fig. 16 illustrates symbolically a useful component used in the invention, the User ID connector engine (600).

[0023] Fig. 17 illustrates that a user (105, 205) wishes to, or is requested to, establish a binding (800) between two systems (100, 200) where they have a profile so that data may be exchanged on a secure channel (350) between the two systems (100, 200) under a common intermediary user ID (310). Fig. 17A illustrates an early step of the method of the invention, which comprises a computer implemented method for facilitating communication and information exchange about a common user (105, 205) between a first computer system (100) and at least one second computer system (200).

[0024] Figs. 17B, 17C and 17D1 illustrate a subsequent step of the method of the invention.

[0025] Fig. 17D2 illustrates an alternative embodiment of the invention as an alternative to the embodiment illustrated in Fig. 17D1

[0026] Fig. 17E illustrates a subsequent step of the method of the invention

[0027] Fig. 18 illustrates one way by example, the first computer system (100) BOS used its own procedure to create a new first user id (110), in this case R0045R.

[0028] Consumer engagement on behalf of the brand owner

[0029] We refer to such interaction betweeen brand owner and customers / users and its system with the generic term consumer engagement system CE, or CES. It is understood that a consumer engagement system naturally comprises a number of underlying business systems that supports the overlying consumer engagement. In relation to this invention a general and generic consumer engagement system is a computer implemented system by which the consumer can interact.

[0030] For instance a track and trace system that is enabled to track and trace every single product uniquely with a uniqe id, can be used to comply with the upcoming European Digital Products Passports. Access and use of this kind of track & trace data may be made available to the end consumer in relation to the requirements of the legislation in question. The acts of the consumer engaing with the products will also create and contribute data to such systems. As an example, a user may have properly returned a depleted battery which carries a unique code, to an approved return point without revealing the user's identity to the return point operator. Then the proper return can be documented without revealing the identity of the user itself. Further, the brand owner may document before environmental authorities that the product carrying a unique code has been properly returned as per legislation, for recycling or finally depositing the product. The example above is not exhaustive, but demonstrates that there exists a need for exchanging information based on one and same single user having a first user identity (such as a social security number or a unique client number) in a first computer system, and having a second user identity (such as a user number) in a second computer system, without revealing that first identity to the second computer systems, and / or vice versa. The current invention also solves the need for positive proof of identity from the opposite system either direction, and as such verifying that the two computer systems are processing and exchanging data related to the identities of same individual user, without the need to at any time exchanging or revealing their own managed identity to the opposite computer system. This need arises during this exchange of type of information, in order to process a given request for information. need for a user identity for its own proof or evidence of identity from the opposite system in order to process the request.

[0031] A user profile in the CES is a tool that is needed for the consumer to properly communicate with the CES to take advantage of its benefits and services. Essentially a user profile makes it possible for the CE system to link data and system use to a given consumer identity. This is important as many of the functions and rewards in the CE system can only be performed in the context of an individual user. Not all functions necessarily needs to act in this way as it is fully possible to have functions that are completely indenpendent in relation to the user. A simple example for a serialization system is code verification via an open webpage. A response is returned without any need for the system to link that to a given user.

[0032] However for most functions this is not the case, as the “cumulative” and repeated or prolonged use by an individual consumer / user needs a user profile to work as intended. At the same time the brand owner might, in addition also have their own separate and independent Customer Relations Management system (CRM) where the same consumer or individual has a user profile. The user profile residing and managed within a brand owner system has its own judicial and legal framework under which the data is processed. The CRM system is also a consumer engagement system. The datasets for the consumer within the brand owners CRM system (BOS) and the serialization consumer engagement system (CES) are usually unrelated to each other.

[0033] A brand owner thus might have a CRM-system (BOS) wherein consumers have a profile and a long standing relation to the brand. This relation and the consumer's interaction might have a long history. The brand owner might implement a serialization and track and trace system that is designed to include active interaction by their consumers. Many services and benefits provided by the specialized serialization and track and trace systems are only for consumers.

[0034] In many cases a serialization and track and trace system for a brand owner (manufacturer of goods) is made available in "the cloud". Furthermore, an expert vendor of such systems operates the system on behalf of the brand owner (the expert vendor's customer). These systems in "the cloud" commissioned by the brand owner have been developed and designed by the expert vendor and therefore have a very high degree of standardization and commonality, it is productified software to serve several customers for a certain market / industry need. It follows that the expert vendor handles massive amounts of data for both the brand owner as well as the consumers data. It is important to observe that even though both systems are under the principal control and management of the brand owner, it is common that in the consumer engagement system in relation to the serialization system - there is a “new”, independent and separate user profile for the “same” consumer and individual that might be found, associated and / or reflected in the brand owners own CRM- system. Fig.4 shows this situation where a user has a user profile both in the brand owners CRM-system, a first computer system (100), here denoted BOS and Dataset_1 , and at the same time, related to the BOS, an additional user profile Dataset_2 in a serialization consumer engagement system, second computer system (200), here denoted CES (200), operated for the same brand owner. The serialization system CES (200) may have its own specialized functions mostly directed at services and benefits that are realized by underlying data generated by serialization and track and trace. For instance a quick example of such is that if a consumer scans the codes of three product items during one and the same purchase, a discount will be offered by the system for the next purchase.

[0035] Similarly, the CRM system BOS (100) may have a lot of data generated by other types of functions and benefits for the consumer based on previous “non-serialized” interaction between the brand and consumer. For instance the user might have been interacting via a brand dedicated website for an extendend period of time.

[0036] Both consumer engagement systems separately hold a lot of valuable historical consumer data. The capability to unite and combine the two data sets for a consumer would be beneficial. Merging and conjoining the two data sources can be coordinated in order to provide a “richer” and seamless experience for the user. It is obvious that some data in the two consumer engagement systems are shared or duplicated, and there is therefore now a growing need to coordinate and manage consumer user profiles across several systems to enhance the functions made available. A user profile in relation to the present invention is to be understood as comprising all data that is uniquely and unequivocally linked to an individual user and is native to the system functions and services provided by the computer system in question. For instance, statistics about how many codes the user has verified with the system is such user profile data. Another user related data can then be that user "John Doe" on a given date validated 15 codes. In other words what is also sometimes referred to as user behaviour is part of the user profile. This unification, federation and coordination of data is even the basis for constructing new functionality (and consequently create data) in both systems that is enabled using the capability to combine and manage both I all the amalgamated, combined or federated data sources. Without this capability the functions of both participating systems cannot be realized and operated. A concern with brand owners is access to consumer data by other third parties. The current invention is a computer implemented solution for coordinating the consumer profile and the associated data, while at the same time maintaining mutual confidentiality, and preserving and enhancing functionality due to coordination of data related to the user identities. The data is coordinated across a plurality of otherwise independently participating systems.

[0037] Embodiments of the invention

[0038] The invention provides a method for exchanging information between a first computer system (100) and a second computer system (200), wherein a first user profile (120) for a first user (105) has a unique first user identity (110) internal within said first computer system (100), and wherein a second user profile (220) for a second user (205) has a unique second user identity (210) internal within said second computer system (200), wherein said first user (105) and said second user (205) is the same, whereby said internal first user identity (110) and said internal second user identity (210) are at all times managed and preserved as secret within each said first and second computer system (100, 200), the metod comprising a) establishing a unique common intermediary user identity (310);

[0039] * wherein said common intermediary user identity (310) is recognizeable resolved and / or decoded to said first user identity (110) by said first computer system (100), and

[0040] * wherein said common intermediary user identity (310) is [recognizeable] [resolved and / or decoded] to said second user identity (210) by said second computer system (200), thus verifying that said first user (105) and said second user (205) is the same, b) establishing a communication channel (350) between said first and second computer systems (100, 200) related to said common intermediary user id (310), c) exchanging on said communication channel (350), information related to said first user profile (120) or said second user profile (220).

[0041] The exchange of information on said communication channel (350) thus may take place without exchanging said first and second user idetities (110, 210) between the first and second computer system, and a main purpose of the invention is thus achieved.

[0042] The invention provides a system for implementing the above, an information exchanging system comprising a first computer system (100) and a second computer system (200), a first, unique user identity (110) internal within said first computer system (100), said first, unique user identity (110) having a first user profile (120) for a first user (105), and a second, unique user identity (210) internal within said second computer system (200), said second unique user identity (210) having a second user profile (220) for a second user (205), wherein said first user (105) and said second user (205) is the same, wherein said internal first user identity (110) and said internal second user identity (210) are at all times managed and preserved as secret within each said first and second computer system (100, 200), the system further comprising a) a first connector engine (500) in said first computer system (100), said first connector engine (500) arranged to recognize [resolve, establish and / or decode] a unique common intermediary user identity (310) to said first user identity (110), and b) a second connector engine (600) in said second computer system (200), said second connector engine (600) arranged to recognize [resolve, establish and / or decode] said unique common intermediary user identity (310) to said second user identity (210), thus said first and second computer systems (100, 200) arranged for verifying that said first user (105) and said second user (205) is the same, a communication channel (350) related to said common intermediary user id (310), said communication channel (350) arranged between said first and second computer systems (100, 200) , said communication channel (350) for use, if verified that said first user (105) and said second user (205) is the same, for exchanging information related to said first user profile (120) and / or said second user profile (220) between said first and second computer systems (100, 200).

[0043] The term recognize, is here meant as the first connector engine (500) is able to resolve, create establish and / or decode the common intermediary user identity (310) as the first user identity (110), and likewise that meant as the second connector engine (600) is able to resolve, establish and / or decode the common intermediary user identity (310) as the second user identity (110). In an embodiment described below, the second connector engine (600) receives a token (130) and based on the second user identity establishes a common intermediary user identity (310) which it transmits to the first connector engine (500) which, based on the received token (130) and decoding the received common intermediary user identity (310) recognizes it as the first user identity (110), and thus verifies that the first and second user (105) is the same user. When verified, the communication about information from the two user profiles (120, 220) may be conducted on the communication channel (350).

[0044] The signalling between the first and second connector engines (500, 600) may occur indirectly via an app (400) as the communication channel (350) or via an other communication channel (350) between the first and second computer systems (100, 200). The two computer systems (100, 200) may have hundreds or thousands of users (105, 205) to serve more or less simultaneously, and the communication channel (350) may be intermittent and should be reserved for each user (105, 205) for as long as the user is served, either as logged in or as a pre-authorized user on either computer system (100, 200). The system provided by the invention is enabled to appear before a user (105, 205), when verified by the system to be the same user, as one single system which may act on information retrieved from said first and said second computer system, thus appearing as one single system to the user, while not revealing the first user identity (105) to the second computer system (200), nor revealing the second user identity (205) to the first computer system (100), or both.

[0045] The current invention provides a computer implemented method for facilitating communication and information exchange between a first computer system (100), and a second computer system (200), or even further third, fourth computer systems (200', 200"), whereby information related to a first unique user identity is in said first computer system, and information related to a second unique user identity is in said second computer system shall be enabled without revealing said first unique user identity to said second computer system, or without revealing said second user identity to said first computer systems, or without mutually revealing said unique first and second user identities.

[0046] The current description is predominately directed at describing the techincal processes and implementation of the invention. However it shall be noted that from a pratical point of view, to make use of the invention it is normally expected that the system owners have some type of agreement for setting up the information exchange as described. The agreement is the legal facilitation for the technical system access required to make use of the invention, such as on which communication channel and protocols to be used for the request for establishing the initial (first) binding between the first and second computer systems (100, 200). Under this agreeement several supporting / facilitating technical preparations might be implemented as per examples given in this description, some of which may be implemented by those skilled in the art, as there are several ways to implement the setup of some of the features and steps of the inveniton. This agrement framework will take place for a number of reasons, both practical and legal, since computer operations naturally implyes full control over the repsective systems, access, use and security for both / all system operations / owners. The first user identity becomes related to said second user identity by a common intermediary encoded user identification, where said common intermediary encoded user identification can be resolved to the first user identity by the first computer system, and resolved to the second user identity by the second computer system. One may say that the first and second user identities become bound and entangled when connected via the common intermediary user identification. The first and second user identities may represent one and the same person, or one and the same legal person.

[0047] The invention provides a computer implemented method for facilitating communication and information exchange about a common user (105, 205) between a first computer system (100) and at least one second computer system (200), wherein said first computer system (100) is arranged to comprise at least one first user profile (120) for at least one unique and internal first userjd (110) for at least one first user (105) said second computer system (200) is arranged to comprise at least one second user profile (220) for at least one second unique and internal userjd (210) for at least one second user (205) wherein the at least one said first user (105) and the at least one said second user (205) being said common user (105, 205); the method comprising a) user (105) logging in via a user app (400) with said first userjd (110) having a first user profile (120) on said first computer system (100), b) user (205) logging in via user app (400) with the second userjd (210) having a second user profile (220) on said second computer system (200), c) said first computer system (100) generates a token (130) and associates it with said first userjd (110) and provides said first token (130) to a first connector engine (500), and also sends said first token (130) to said user app (400), said user app (400) forwards said first token (130) to said second computer system (200), said second computer system (200) associates said token (130) with said second userjd (210), d) said second computer system (200) forwards said token (130) to a second connector engine (600), e) said second connector engine (600) sends said token (130) to said first connector engine (500), f) said first connector engine (500) compares said received token (130) with said transmitted token (130), g) if said received token (130) is recognized as said generated token (130) then said first computer system (100) recognizes said second computer system as the computer system to establish a binding with, h) said first and second computer systems (100, 200) resolves / decodes the first and second userjd (110, 210) to a common intermediary userjd (310), i) said first computer system (100) and said second computer system (200) anonymously forms a binding (800) via said intermediary userjd (310) linking said first userjd (110) to said second userjd (210), j) said first and second computer systems (100, 200) sets up a secure channel (350) for mututal communication conserning information from said first and second user profiles (120, 220) via said intermediary userjd (310).

[0048] In an embodiment of the invention, said second connector engine (600) generates said intermediate userjd (310) based on said second userjd (210) and sends said intermediate userjd (310) together with said token (130) to said first connector engine (500), said first computer system (100) resolves / decodes said intermediary userjd (310) to said first userjd (110).

[0049] In an embodiment of the invention, said first connector engine (500) generates said intermediate userjd (310) based on said first userjd (110) and sends said intermediate userjd (310) to said second connector engine (500), said second computer system resolves / decodes said intermediary userjd (310) to said second userjd (210). In an embodiment of the invention, when said common intermediary userjd (310) has been resolved / decoded to said first and second userjd (110, 210),

[0050] - exchanging parts of said first or second user profile (120, 220) except said first and second userjd (110, 210) utilizing said intermediary userjd (310) between said first and second computer systems (100, 200) via a secure channel (350), wherein said first and second computer systems (100, 200) can use information from the other system linked to said common user (105, 205).

[0051] In an embodiment of the invention, said intermediary userjd (310) is encoded. In another embodiment of the invention, said intermediary userjd (310) is encrypted.

[0052] In an embodiment of the invention, said first computer system (100) is a brand owner system BOS.

[0053] In an embodiment of the invention, said second computer system (200) comprises a track and trace system.

[0054] As an example, the second computer system (200) may send a unique serial code (230) of a product item registered in said second user profile (220) from said second computer system (200) to said first computer system (100) and adding that unique serial code (230) to said first user profile (120). This may add to said first user profile (120) that the user (105) has bought the product item having that unique serial code (230).

[0055] As an other example, it may send a unique serial code (230) of a product item registered in said first user profile (120) from said first computer system (100) and asking for further information related to said unique serial code (230) of said product item from said second user profile (220), such as a geolocation (240) where said unique serial code (230) was registered. In an embodiment of the invention, said second connector engine (600) is arranged to generate said intermediate userjd (310) based on said second userjd (210) and arranged to send said intermediate userjd (310) together with said token (130) to said first connector engine (500) of said first computer system (100), said first connector recognize, resolve / decode said intermediary userjd (310) to said first userjd (110).

[0056] In an embodiment of the invention said first connector engine (500) is arranged to generate said intermediate userjd (310) based on said first userjd (110) and sends said intermediate userjd (310) to said second connector engine (500), said second connector engine (310) of said second computer system (200) resolves / decodes said intermediary userjd (310) to said second userjd (210).

[0057] In an embodiment of the invention, when said common intermediary userjd (310) has been resolved / decoded to said first and second userjd (110, 210), requesting for and communicating parts of said first or second user profile (120, 220) except said first and second userjd (110, 210) utilizing said intermediary userjd (310) between said first and second computer systems (100, 200) via said secure channel (350), wherein said first and second computer systems (100, 200) can use, store, andact before the common user (105, 205) based on information from the opposite user profile (120, 220) linked to said common user (105, 205).

[0058] In an embodiment of the invention said intermediary userjd (310) is encoded.

[0059] In an embodiment of the invention said intermediary userjd (310) is encrypted.

[0060] In an embodiment of the invention said first computer system (100) is a brand owner system BOS.

[0061] In an embodiment of the invention said second computer system (200) comprises a track and trace system (700). In an embodiment of the invention the system comprises a communicating computer (401) with a user app (400) arranged for being used by said first and second user (105, 205) (which is supposed to be the same person) for logging in and / or communicating with said first and second computer systems (100, 200) under said first and second user identities (110, 210).

[0062] In an embodiment of the invention said communicating computer (401) is arranged to use said user app (400) to scan, input or otherwise read a serialized code (230) from a product item (720) and to communicate said serialized code (230) while logged in as said second user identity (210) to said second computer system (200).

[0063] In an embodiment of the invention a second connector engine (600) is arranged with said second computer system (200) and converts said second user ID (220) to said common intermediary user identity (310).

[0064] In an emboiment of the invention a first connector engine (500) is arranged with said first computer system (100) receives said common intermediary user ID (310) converts it or associates it to said first user entity (110).

[0065] In an embodiment of the invention said first connector engine (500) is arranged with said first computer system (100) and receives said first user entity (110) and converts said first user identity (110) to said common intermediary user identity (310).

[0066] In an embodiment of the invention said second connector engine (600) is arranged with said second computer system (200) and receives said common intermediary user identity (310) and converts said common intermediary user identity (310) to said second user identity (210).

[0067] In an embodiment of the invention said user (105, 205) conduct the steps of

[0068] - logging in and communicates via a user app (400) on a communicating computer (401) under said first user identity (110) on said first computer system (100) and also

[0069] - logging in and communicating via said user app (400) on said communicating computer (401) under said second user identity (210) on said second computer system (200).

[0070] In an embodiment of the invention said first computer system (100) generates a token (130) that is linked with said first user identity (110), further transmits said token (130) from said first computer system to said second computer system (200), said second computer system (200) links said token (130) to said second user identity (210), - said second computer system (200) generates or provides said common intermediary user identity (310) based on said second user identity (210),

[0071] - said second computer system (200) transmits said generated common intermediary user identity (310) and said token (130) to said first computer system (100),

[0072] - said first computer system (100) receives said common intermediary user identity (310) and said token (130) thus links said common intermediary user identity (310) to said first user identity (110).

[0073] In an embodiment of the invention said token (130) is transmitted from said first computer system via said user app (400), said user app (400) forwards said token (130) to said second computer system (200), said second computer system (200) linking said token (130) to said second user identity (210).

[0074] In an embodiment of the invention said token (130) is encrypted by said first connector engine (500) and decrypted by said second connector engine (600).

[0075] In an embodiment said second computer system (200) uses said second connector engine (600) to generate said common intermediary user identity (310) based on said second user identity (210).

[0076] In an embodiment of the invention said link between said second user ID (210) via said common intermediary user identity (310) to said first user identity (110) constitutes a mutual binding (800). This mutual binding (800) constitutes the basis for establishing or using the communication channel for requesting and transmitting data from the first and second user profiles (120, 220).

[0077] The user, the userID and the user profile

[0078] In relation to the present invention a client (400) is a piece of hardware and / or computer software that is capable of processing computer instructions, and also able to communicate through computer (enabled) networks and thus connect and communicate with other clients (400), software and computers, please see Fig. 1.

[0079] As an example the client (400) may be a smartphone app (400) to interact with a user (105, 205) and communicate e.g. scanned serialized codes (230) from a product item (720) to a track and trace system (700) of a customer system (200) run on a server at a specialist vendor, and exchanges information based on the serialized code (230). Interaction with the computer systems (100, 200) without the code (230) may also occur if the user (105, 205, 305) just wishes to access the data available in the computer systems (100, 200).

[0080] A user (105, 205, 305) is in the present context an individual or person that interacts with such a client (400) to take advantage of the client's (400) capabilities to perform and operate tasks and functions available by the client (400). When a user (105, 205, 305) interacts with a client (400), that interaction is also sometimes referred to as the user experience.

[0081] A user profile (120, 220) is understood to be an authorization to interact with the client (400) and / or a computer system (100, 200) and a specific and unique user identity (210) identifiable information related to the user (105, 205) that will govern the interaction with the client / system (100, 200). Such user profile (120, 220) is very commonly comprising information such as:

[0082] - user name,

[0083] - address,

[0084] - user email,

[0085] - user mobile phone number,

[0086] - user id (110, 210) assigned within the client (400),

[0087] - selected user preferences within the client (400), etc.

[0088] A user profile (120, 220) is in practical terms required in being able to use the services provided by the computer system (100, 200). Further the user identities (110, 210) handled by this invention are “native” in the sense that they are original and single in relation to the user (105, 205) as opposed to what some Single-Sign On (SSO) systems deploy.

[0089] Consumer engagement system

[0090] Fig. 1 shows a consumer / user (105, 205) with a handheld communicating computer (401) arranged for communication, such as a mobile with a mobile app (400). The mobile app (400) is used for the handheld computer (401) scanning a serialized code (230) of a product item (720) and getting information about this product from the serialization system (700), which in this case also is comprised in a consumer engagement system (200) for the user (105, 205). In an embodiment of the invention the serialized code (230) is a unique code. Such unique codes are important for making track & trace of codes on product items (720) actually work.

[0091] Fig. 1 B may be read in conjunction with Fig. 1 and illustrates an embodiment of the invention wherein the second computer system (200) is connected to a track & trace system (700) for serialized items (720). The track and trace system (700) may typically comprise a manufacturing unit (730) producing items (720). A unique code generator (725) produces unique codes 230), the codes may be in two parts in order to allow hierarchical packaging and re-packaging. The unique codes (230) may be marked on items (720) in a marking and packaging unit (740). A re-packaging unit (750) may be arranged to re-package and mix different packed items (720) from different manufacturing units (730). A tracking unit (760) at a tracking location may register the code marked items (720) under way. A shop (770) may be the end destination before the item (720) is provided to the end user (105, 205). A code scanner in a handheld computer (401) may be arranged at any point during the marking and packaging unit (740), the re-packaging unit (750), the tracking unit (760), and the shop (770), or with the end user (105, 205).

[0092] Fig. 2. illustrates the user (105, 205) in a context among several computer systems. Several consumer computer systems such as a first computer system (100) and a second computer system (200) are accessible in "the cloud", such as one or more the social security office, a bank, Netflix, Facebook, Instagram and so on. As depicted in Fig. 2 the individual user (105, 205, ...) has a user profile (120, 220, ...) with all the services / computer systems, he or she is using. An individual user profile (120) within one computer system (100) is secret and separate from the same user's individual user profile (220) within another computer system (200, ...). Individual user profiles (120, 220) within each computer service (100, 200) are thus different and separate from the other user profiles (120, 220) that the same and individual user (105, 205) has, they normally contain different information and some common information related to the one and same user (105, 205). In principle, a system such as illustrated as (CE32) with a user profile (220_32) has no knowledge or access to a user profile (220_55) in another system, such as illustrated here as (CE55) by design. The various user profiles (120, 220, 220_32, 220_55... ) might usually manage some identical data, but which are not shared data, about the individual user (105, 205, 205_32, 205_55, ..). Typical examples of the same I shared data presented in several user profiles (120, 220 ,220_32, 220_55, ...) are the user's (105, 205) name, email address and cell phone number. Typical examples of not shared data are social security number which may be forbidden to share, passport number, account number, etc.

[0093] Fig. 2. shows a normal and very common situation for an individual. The person is a user (105, 205) of several consumer computer systems (100, 200, 200_32, 200_55, ... ) accessible in the cloud, such as a first bank, a second bank, Netflix, Facebook, Instagram, and so on. Usually in the present jungle of consumer computer systems, a user / consumer (105, 205) might be using tens if not hundreds of consumer computer services or systems (100, 200) in the cloud. As depicted in Fig. 1 and in Fig. 2 the individual has a separate user profile (105, 205, ... ) with each of the computer systems / services (100, 200, ...) he or she is using. Although this particular individual user (105, 205) is the same natural or legal person in all cases and in all “user-system relations”, every single of these individual user profiles (120, 220) with each computer service is, technically speaking, different and separate from the other user profiles (120, 220) that the individual user (105, 205) has in other computer systems (100, 200). As an example, computer system (200, CE32) has no specific knowledge or access to a user profile in another system (such as per example in the second computer system (200, CE55)) by design. The various user profiles might obviously manage some identical data (but not common / shared data) about the individual. Typical examples are name, email address, cell number and so on.

[0094] Fig. 3 roughly illustrates a situation, a problem that the current invention provides a solution for. A user (105, 205) has a user profile (120) with a brand owner (ACME) in a first computer system (100) called "BOS" for Brand Owner System" here. The user's (105) first user identity, UserlD_1 (110) has a first user profile (120) comprising user data with a confidential dataset 1 in the first computer system (100), "ACME".

[0095] At the same time this user (105, 205) has another user profile (220) in a second computer system (200), e.g. a consumer engagement system CES (200) where the user (205) is managing scanned serialized codes (230) for product items (720) (see Fig. 1 and Fig. 17) that were serialized by the second computer system (100) "CES" system. The second computer system CES (200) is usually operated by an expert vendor on behalf of ACME which may be a serializing service provider for generating or providing unique codes (230). It is clear that having in principle different and separate user profiles (120, 220) in this situation is inefficient, cumbersome and in some situations possibly confusing for the consumer (105, 205). The two computer systems are unable or not allowed to exchange the first and second userID's (110, 210) nor essential parts of the user profiles (120, 220).

[0096] Fig. 4 sketches an improved situation wherein the same user's (105, 205) user profiles (120, 220) can be virtually exchanged between the systems (100, 200) and the consumer's user experience wherein the two systems (100, 200) are perceived and observed as one single and coherent system. The present invention approaches such an improved situation. New functions for users can be designed and implemented due to the ability to now exchange data between the ensemble system that is linked to one and the same user. The systems (100, 200) manage data from one user profile (120, 220) that the other system mutually does not or may not have and vice versa. However, by exchanging and managing data from user profiles (120, 220) between the two systems a better service can be provided to the consumer. A virtual common intermediary user identity (310) is established. This enables a mutual binding (800) between the first and second userID's (110, 210) without allowing mutual access to the opposite computer system's (100, 200) user ID's (110, 210) but allowing exchange of data from their user profiles (120, 220).

[0097] In an embodiment of the invention, when a user (205) scans a serialized code (230) the interaction is with the consumer engagement system CES (200). To operate efficiently the second computer system, CES (200) has a user profile (220) with relevant data in order to be able to handle the interaction properly. However, the user (105, 205) also has a relation with the brand owner system BOS, the first computer system (100). However, the first user profile (110) is retained inside the first computer system (100), and the second user profile (220) that is retained inside the second computer system CES (200) is limited to operation within the second computer system CES (200).

[0098] Preservation of confidentiality between user ID systems

[0099] An important technical aspect solved and provided by the current invention is that the primordial and elemental user identity (110, 210) is not exchanged between the computer systems (100, 200) during the coordinated communication between the computer systems (100, 200). Elemental user identity (110, 210) within a computer system (100, 200) is hereby to be understood as the information that that computer systems (100, 200) and their databases use to identify and process the user's (105, 205) interaction. In databases (100, 200) in most cases these userID's (110, 210) each constitutes a primary key in the respective database. To further illustrate this by way of example; imagine that in the BOS system (100), the BOS_ID (110) is a social security number for the individual (105). In Norway, for instance, this social security number is a very prolific user ID “primary key” which should not be distributed uncontrolledly. Another approach, for a CES system (200), might just be a sequential user id (210) number or a unique text string such as say "3GH45LLTR223NNGD". However, whatever the format and construction of such an user ID (110, 210) that a system employs, it is crucial that this ID (110, 210) resides only within the system (100, 200) itself where it originated and will not be exchanged nor revealed with the other system.

[0100] A user profile (120) may as example comprise first user identity (110) (Norwegian Social Security Number) (secret) including birth date, surname, family name, civil state married, unmarried, divorced, spouse's user identity nationality gender offically registered adress of residence temporary adress of residence telephone home and work and mobile present employer employment status (independent I employed I retired I student, etc) number of children birth date of children residence of children income present year income previous years, tax paid value of property value of shares, etc.

[0101] An advantage of the present invention may be illustrated by the following: The social security number, the "person number" for a person in Norway comprises the birth date DDMMYY and a serial number NNNNN and is used for identifying a person before national authorities such as the Public Health Services, Police, Tax authorities, Social security, Banks, etc. This social security number shall not be exchanged to other nations' authorities. Similarly, the same person may have a corresponding identification number before Swedish authorites, say the Swedish tax authorities, and that authority is not allowed or not enabled to exchange the person's Swedish identification number with the Norwegian social security number, and vice versa. Thousands of persons living near the border and working part time in either country experience problems related to the two countries' tax authorities inferior coordination of a person's tax calculation because information related to one and the same person cannot readily be exchanged based on neither the Swedish nor the Norwegian social security number alone. The present invention would enable the Norwegian and the Swedish authorities to safely and confidentially exchange and manage data such as income earned in Norway and Sweden, respectively, relating to the same person across the two systems without ever exchanging user identity (110, 210) as well as profile data which should not be revealed to the opposite system, such as information on health, criminal record, social history, etc. which should not be revealed to unauthorized or foreign authorities.

[0102] Fig. 5 illustrates in a simplified manner how the principle of how the present invention works. The first computer system (100) "BOS", is coordinating and communicating with the second computer system (200) "CES" using their respective User ID (110, 210) via first and second connector engines (500, 600), respectively, concerning a user (105, 205) which is the same user but with different user identities (110, 210). The first computer system "BOS" (100) is, on its side, internally using the first user identity BOSJD, (110) and likewise the second computer system "CES" (200) is using the second user identity CESJD (210) for the same individual, the user / consumer (105, 205), within its system, CES (200). As can be seen neither internal user identities (110, 210) are exchanged all the way from the first computer system (100) to the second computer system (200), as they both are converted into a shared, common intermediary user ID (310) that here is shown as "xRef_ID" (310), an encoded common intermediary user identity.

[0103] Secure channel for communication In Fig. 5 and Figs. 6, 7, 8, 13 and 14, there are illustrated two endpoints T1 and T2. These endpoints (T1, T2) serve as the interfaces between which the first and second computer systems (100, 200) communicates, where either this being the first point of contact for receiving data from the other system, or the last point before sending data to the other computer system (100, 200). An unsecure network such as the internet is at disposal between the two systems, the first and second computer systems (100, 200) over which they can communicate. For the present invention and for the sake of simplicity it is assumed that a secure channel (350) is available between the two systems represented by T1 and T2. Setting up this secure communication channel / tunnel (350) is vital for the practical use of invention. Between the endpoints (T1) and (T2) the channel (350) must facilitate confidentiality and authentication of the other, opposite computer system (100, 200) before starting communication and using the current invention.

[0104] How this secure channel (350) is implemented in practical terms will however not to be further discussed here, since this is assumed to be something that someone skilled in the art can arrange and facilitate, and there are a wide array of technologies, solutions and standards that enables such a secure tunnel.

[0105] The encryption scheme discussed later in this description (unless otherwise mentioned) is therefore not a part of setting up and / or operating the secure channel (350) between the communication channel endpoints (T1) and (T2).

[0106] Establishing the binding between the different user identities

[0107] In this description it is disclosed how to communicate between a first and a second computer system (100, 200) that have a mutual binding (800) and thus a combined utilisation of mutually exchanged information but not the user identities (110, 210) between the two user profiles (120, 220) related to a given single user (105, 205) related to both computer systems (100, 200). In many cases the user (105, 205) is already represented in both systems (100, 200). So there needs to be a system and a procedure to establish the link of the user profiles (120, 220) and make the binding (800). In case the single user (105, 205) is not established with a user identity (110, 210) in one or either of the systems, the user identity (110, 210) should be established with a corresponding user profile (120, 220) before continuing with the present invention.

[0108] Fig. 17 illustrates that a user (105, 205) wishes to, or is requested to, establish a binding (800) between two systems (100, 200) where they have a profile so that data may be exchanged on a secure channel (350) (shown in Fig. 17E, please also see Fig. 14) between the two systems (100, 200) under a common intermediary user ID (310). Further the user experience is facilitated and streamlined between the two systems (100, 200). The first computer system (100) generates a token or message (130) that is linked unambiguously with the user's (105), userID's (110) user profile (120) in that system (100). The token (130) is now transmitted to the user's (105) client / app (400) based on the user profile (120) in the first computer system (100), which is also in communication with the second computer system (200) acting as second user (205). The user's (205) on client (400) connects with the second system (200) with that user's (205) user profile (220) in the second computer system (200), and forwards the token (130) to the second system (200). The second system (200) transmits the token (130) back to the first system (100) via second and first connector engine (600, 500) components described below, so that the binding (800) of the two profiles (120, 220) can be amalgamated. The second computer system (200) recognizes the second user ID (210) via the second connector engine (600) as the common intermediary user ID (310), the first computer system (100) recognizes the common intermediary user ID (310) as the first user ID (110) via the token or message (130).

[0109] The client / app / computer software (400) to make this connection must be programmed to facilitate the process, as well as that the systems have API's and functions that enable the binding (800) process as described. The verification and proof signing of both the token and user / app as it is exchanged by the various systems and process steps might be implemented. Fig. 17A illustrates an early step of the method of the invention, which comprises a computer implemented method for facilitating communication and information exchange about a common user (105, 205) between a first computer system (100) and at least one second computer system (200), wherein said first computer system (100) is arranged to comprise at least one first user profile (120) for at least one unique and internal first user identity (110) for at least one first user (105) said second computer system (200) is arranged to comprise at least one second user profile (220) for at least one second unique and internal user identity (210) for at least one second user (205), wherein the at least one said first user (105) and the at least one said second user (205) being said common user (105, 205). The method comprises the step that the user (105) logs in via a user app (400) with the first user identity (110) having a first user profile (120) on said first computer system (100).

[0110] Fig. 17B illustrates a subsequent step of the method of the invention, wherein the user (205), which is actually the same user as user (105), logs in via the user app (400) with the second user identity (210) having a second user profile (220) on said second computer system (200). The user profile (220) will usually contain other data than the first user profile (120).

[0111] Fig. 17C illustrates a subsequent step of the method of the invention, wherein said first computer system (100) generates a first token (130) and associates it with said first user identity (110) and provides said first token (130) to a first connector engine (500), and also sends said first token (130) to said user app (400), which further forwards said first token (130) to said second computer system (200), which associates said first token (130) with said second user identity (210). The purpose of this token (130) is to enable both said first computer system (100) and said second computer system (200) to know that they are trying to connect one and the same user (105, 205) with userid's (110, 210). Either side may start the process and sends the token.

[0112] Fig. 17D1 illustrates a subsequent step of the method of the invention, the step wherein said second computer system (200) forwards said first token (130) and said second user identity (210) to a second connector engine (600) which communicates said first token (130) over to said first connector engine (500) of said first computer system (100).

[0113] Further said second connector engine (600) generates a common intermediate user identity (310) based on said second user identity (210), and sends said common intermediate user identity (310) with said token (130) to said first connector engine (500) belonging to the first computer system (100) which initially generated the token (130). Said first connector engine (500) compares said received token (130) with said transmitted token (130) and if said received token (130) is recognized as said generated token (130) then said first computer system (100) recognizes said intermediary user identity (310) as said first user identity (110), and the binding (800) has been performed and established.

[0114] Fig. 17D2 illustrates an alternative embodiment of the invention as an alternative to the embodiment illustrated in Fig. 17D1. In this embodient the second connector engine (600) forwards said token (130) to said first connector engine (500) which compares the received token (130) with the originaly transmitted token (130), and, if affirmative, said first connector engine (500) generates said common intermediary user identity (310) based on said first user identity (110). This is less straightforward than the direct method of Fig 17D1.

[0115] Fig. 17E illustrates a subsequent step of the method of the invention, wherein said first computer system (100) and said second computer system (200) anonymously form a binding (800) via said intermediary user identity (310) linking said first user identity (110) to said second user identity (210). Furher said first and second computer systems (100, 200) set up a secure channel (350) for mututal exchange of selected data from said first and second user profiles (120, 220) via said intermediary user identity (310).

[0116] With the secure channel (350) now set up for exhanging selected data, which are allowable to be exchanged between the first and second user profiles (120, 220) the first and second computer systems (100, 200) may cooperate by exchanging allowable parameters without mutually compromising non-allowable parameters such as the first and second user identities (110, 210). The first and second user identies may be a Norwegian social security number as the first user identity (110) and a Swedish social security number as the second user identity (210), further, authenticating may be performed to verify that it is certain that the user (105, 205) is one and the same person.

[0117] User ID connector engine

[0118] Fig. 15 illustrates symbolically of a useful component employed in the invention, the first User ID connector engine (500). The first User ID connector engine (500) is a coherent subsystem (software or autonomous hardware implementation). The task and function of the first User ID connector engine (500) is to convert from an incoming common intermediate user identity (310), which is resolved as the internal first userID (110) here named BOS_ID (110) in the first computer system (100), and / or converting a first user identity (110) "BOS_ID" (110) to a common intermediary user identity (310), "xRefID" . This subsystem, the first connector engine (500), stores and processes the information that is required to perform this task such as encryption keys (if used), databases and software that can process the relevant algorithm(s) and computer tasks necessary. This first connector engine (500) module has interface (502) where a request input intermediate user identity (310) is received by the User ID connector (500) and interface (501) where the resulting first user identity (110) is made available to the first computer system BOS (100), and vice versa. Interface (503) is a service interface used to maintain and operate the connector engine (500) module, typically to add new data to the module. In an embodiment of the invention the token (130) is recognized to verify or identify the correct intermediary user ID (310) as the first userID (110).

[0119] Fig. 16 illustrates symbolically a useful component used in the invention, the User ID connector engine (600). The User ID connector engine (600) is a coherent subsystem (software or autonomous hardware implementation). The task and function is to convert from an incoming intermediate user identity xRef (310) to the internal second user ID CE_ID(int) (210), and / or converting a second user identity CEJD(int) (210) to an intermediate user identity xRef (310). This second user ID connector engine (600) subsystem stores the information that is required to perform this task such as encryption keys (if used), databases and software that can process the relevant algorithm(s) and computer tasks necessary. This module has interfaces (602) where a request input common intermediate user identity xRef (310) is received by the User ID connector (600) and interface (601) where the resulting second user identity CE_ID (210) is made available to the second computer system CE (200). Interface (603) is an interface used to maintain and operate the second user connector engine (600) module, typically for instance to add new data to the user ID connector (600) module. In an embodiment of the invention the token (130) is recognized to identify or verify the correct intermediary user ID (310) as the second userID (110).

[0120] The first and second User ID connector engines (500) and (600) have the same basic task and construction, however they are necessarily not identical.

[0121] Managing computer system when the user is using a system client

[0122] The present invention facilitates a “seamless” user experience for an individual user (105, 205) that has user profiles (110, 210) in two independent computer systems (100, 200) since each computer system (100, 200) can communicate with the user (105, 205) based on the corresponding user identity (110, 210) they have for the user / individual (105, 205). There are a number of aspects that still must be addressed for such use, for instance it is likely that the user (105, 205) in many cases must approve such use, such as background interaction between computer systems (100, 200) for data from his user profiles (120, 220) related to his user identities (110, 210). Further one can foresee that a developer of user apps / clients (400) must build in some type of controller systems that govern the behavior of such client (400) when they are communicating with “both” computer systems (100, 200) simultaneously, such as presenting and processing “combined” generated new data. Further within both computer systems (100, 200) also the system design must be carried out purposely in order to coordinate the functions and behavior between the two computer systems (100, 200) themselves. One such important coordination task is synchronization of the new generated “usage” data from all components for the overall combined system.

[0123] Such a controller system (software) may become complex. The current invention is however not directed at teaching how to construct and design such controller systems.

[0124] Binding and entanglement of user identities

[0125] Fig. 17 illustrates a principle for binding and entanglement between the native user identities (110, 210) between the two computer systems (100, 200) unequivocally. The first user ID (110) is linked via an application interface to the first connector engine (500). When the first computer system (100) triggers any processing request aimed at the second computer system (200), that involves the first user ID (110), it sends the first user ID (110) to the first connector engine (500) that will process the entanglement and binding (800) based on the first user identity (110) in question, where its appropriate second user identity (210) is resolved and matched using the corresponding second connector engine (600) residing in the second computer system (200).

[0126] Fig. 15 and Fig. 16 illustrate the components and functions of the first and second connector engines (500, 600). In this example it works on a basis where an algorithm encodes and decodes a first user identity userID (110, 210) in the connector engines (500, 600), respectively, where basically the internal system userIDs (110, 210) are private and not mutually shared, the result of the algorithm yields and generates a temporary, mutually “shared” common intermediary userID (310).

[0127] Using a first user ID, second user ID (110, 210) "Private UserID"; algorithm:

[0128] {first or second user identity (110, 210)} common intermediary UserID (310) = xRef, and vice versa; using a shared UserID, common intermediary UserID (310) = xRef; algorithm

[0129] {Common intermediary UserID (310)} first or second user identity (110, 210).

[0130] In an embodiment of the invention an algorithm that enables and establishes a binding (800) is based on an encryption cipher and is described below. Binding (800) involves decoding and / or resolving in order to convert from either first internal user identity to common intermediary user id, or from common intermediary user identity to second internal user identity. However, the algorithm can be any method, function or manipulation where the conversion and binding works both ways, e.i. it can encode and decode any UserID (110, 210) to a common intermediary user identity (310) "Shared UserID" and reverse a common intermediary user identity (310) "Shared UserID" to a "Private" first or second UserID (110, 210).

[0131] The algorithm can use a hashing scheme, with or without salt, or simply tables that associate the "Private" first or second user identity UserID (110, 210) with the "Shared" common intermediary UserID (310). In the latter case a random generated value for the common intermediary user identity (310) I Shared UserID will work.

[0132] The algorithm therefore might employ other ways and methods to establish the binding entanglement.

[0133] Encryption embodiment of the invention

[0134] The invention is in an embodiment using an encryption scheme to convert between the respective computer systems. For a better understanding of the encryption steps involved and the detailed process, we have devised some simple conventions and a formal way describing the steps, as follows; message; is any string or cleartext that can be encrypted with an encryption key using an encryption algorithm. ! keylD = key keylD; is an encryption key associated with a unique keylD so that the encryption key can be stored and retrieved and later used for the relevant encryption steps. encrypt is an encryption step where a message is encrypted with (! keylD) written as: encrypt { message <> ! keylD }, where symbol <> stands for “with” or “using”

[0135] The encryption step result is then written as:

[0136] # [message ! keylD] ; where # is indicating an encrypted string.

[0137] The complete encryption process might therefore be written as; encrypt { message <> ! keylD } > # [messageo ! keylD ] where — > reads “ which gives” or “giving the following encrypted result”.

[0138] To decrypt a message follows the same convention as the encryption and is thus written as: decrypt { message <> ! keylD } > & [ messageo | keylD ]; where the system & indicates “decrypted”.

[0139] Using the same keyld when decrypting as used when encrypting, the following result can be observed: decrypt { message <> ! keylD } > & [ messageo | key ID ] inserting the values decrypt { # [message ! keylD] <> ! keylD } > & [ # [message ! keylD] <> ! keylD

[0140] ] decrypt { # [message ! keylD] <> ! keylD } > & # message message

[0141] Processing a request

[0142] In relation to an embodiment of the invention there may be no limitations or specifications concerning the information exchange between the systems except for the first and second user identities (110, 210) themselves. The invention simply enables any computer implemented processing on both sides to be performed wherein the user identity (110, 210) needs to be used but not exchanged, and also according to the invention in such a way that the user identities (110, 210) are not shared or exchanged between the two computer systems (100, 200) at any time.

[0143] Sending a request from the CES to the BOS

[0144] Fig. 6 illustrates in an example the steps and process wherein the second computer system (200) CES requests information from the first computer system (100) BOS concerning the second user identity (210) CES_ID (internal reference). Here this request for information about the user is denoted generically as "?R_data". The request "?R_data" can be about any information and of any format that both systems are capable of handling.

[0145] In the following steps we will use an example illustrated in Fig. 11 to better understand potential uses for the invention. Note that the following steps are conducted after a connection and secure communicaiton channel (350) has been set up.

[0146] Step 1V

[0147] The second computer system (200) CES needs information related to a given second user ID (210) CES_ID, which is internal to the second computer system (200), please see Fig. 6. In this case the second user ID (210) = 45576, please see Fig. 9. In the common Intermediate user ID (310), a cross reference xRef (310) conversion table the corresponding common intermediate user ID (310) xRef value is looked up and retrieved from this table. The second user ID (210) CESJD gives that common intermediate user ID (310) xRef = HT556. The request "?R_Data" from the second computer system (200) wants the latest geolocation for the second user (205) for his last interaction with the first computer system (100) BOS. For the example we assume that this information is in fact available with the first computer sytem (100) BOS. The request "?R_data = lastGeoRef", the latest geolocation, e.g. geographical position, of the second user (205) , which is also the first user (105) when logged on.

[0148] Please refer to the table Fig. 9:

[0149] Note that encryption and decryption may also be used in order to obtain the same binding: xRef = encrypt { message <> ! keylD } > # [message <> ! keylD ], where using the example values given provides the common intermediate ID (310), xRef: xRef = encrypt { 45576 <> ! 601 } > # [45576 <> ! 601] = HT556 xRef = HT556

[0150] Step 2V

[0151] The second computer system (200) CES transmits this common intermediate user ID (310) named xRef = HT556 to the first computer system (100) BOS via the second terminal (T2) over the secure tunnel (350) along with the request "?R_data": "LastGeoRef", to the first terminal (T 1) at the first computer system (100), where the common intermediate userID (310) and the request ?R_data are received by the first computer system (100) BOS. Please see Fig. 6.

[0152] Step 3V

[0153] The first computer system (100) BOS now uses the procedure to distill the internal first user identity (110) "BOSJD" using the received common intermediary userID (310), xRef: decrypt { # [message ! keylD ] <> ! keylD } > & [ # message ! keylD <> ! keylD ], which gives the following result; decrypt { # [HT556 ! 601] <> ! 601} > & [ # HT556 ! 601 <> ! 601 ] > K6006T The common intermediary userID (310), xRef value HT556 is now determined to mirror and correspond to BOS_ID value K6006T, please see the left side of Fig. 6.

[0154] Step 4V

[0155] Using the BOS_ID that equals K6006T and the particulars of the request the BOS now processes the request "?R_data". For the example this is retrieved and the result is LastGeoPos = 63.77N.10.23E.

[0156] Step 5V

[0157] The R_data = LastGeoPos = 63.77N, 10.23E is transmitted to CE via the secure channel (350) where CE is receiving the last geo position for user with xRef = HT556.

[0158] Step 6V

[0159] The circle is now “closed” and the second computer system (200) CES can process what it needs based on the information that it received from the first computer system (100) BOS. The second user identity (210) ID CEJD(int) = 45576 and therefore the second computer system (200) CE now updates that in its core that 45576 was latest located at the position 63.77N and 10.23E the latest time the user (205) was interacting with the first computer system BOS (100).

[0160] Sending a request from the BOS to the CES.

[0161] The first computer system (100) BOS needs to update the second computer system (200) CES with the latest geoposition that a given user (105) had the latest time this user (105) was in contact with the first computer system (100) BOS, and it also wishes to know which unique serial code (230) that triggered the data that is being known by the second computer system (200) CES.

[0162] This process and flow is shown in Fig. 7. Note that the following steps are conducted after a connection and secure communicaiton channel (350) has been set up.

[0163] Step 1 H The first computer system (100) BOS uses the relevant encryption key: ! KeylD obtains the correct common intermediary user identity (350) "xRef". From table this encryption key is "603". Please see Fig. 10. encrypt { message <> ! keylD } > # [message <> ! keyld ], which, using the appropriate values, results in: xRef = encrypt { L3440R <> ! 603 } > # [L3440R <> ! 603] = BX677 xRef = BX677

[0164] Step 2H

[0165] The first computer system (100) BOS transmits xRef = BX677 to the second computer system (200) CES over the secure channel (350) along with the request "?R_data" and it is received by the second computer system (200) CES. The request "?R_data" is requesting the unique serial code, request "?R_data" = serial code related to the latest recorded geoposition= ?

[0166] Step 3H

[0167] The second computer system (200) CES now uses the procedure to use and find the correct common intermediary user identity (310) "xRef" corresponding to the second userJD (210) internal CE_ID (int) by a table look up; xRef = BX677 gives 65445 as the second user identity (210).

[0168] Step 4H

[0169] The second computer system (200) CES finds that for user 65445 the last GeoPos for the user was based on serial code = NH55GTDR14423.

[0170] Thus the resulting R_data = NH55GTDR14423.

[0171] Step 5H The R_data = NH55GTDR14423 is transmitted to BOS via the secure channel (350) where the first computer system (100) BOS receives the latest serial code for user with xRef = BX667 .

[0172] Step 6H

[0173] The circle is now “closed” and the first computer system (100) BOS can process what it needs based on the information that it received from the second computer system (200) CES. The first userID (210) BOS_ID = "L3440R" and therefore the first computer system (100) BOS now updates in its core that serial code "NH55GTDR14423" was the code that triggered the last interaction with the second computer system (200) CES.

[0174] Further Embodiments of the invention

[0175] In the example embodiment described above, the second computer system BOS was performing an encryption process to / from the common intermediary user identity (310) XRef, and the first computer system (100) CES was holding a reference / lookup table to convert to / from XRef. However in an actual implementation this might be reversed. This choice is a matter of convenience for any given implementation.

[0176] In the example above, the first computer system (100) BOS managed encryption keys and an encryption algorithm to bind and convert the first and second user identities (110, 210) via the common intermediate user identity (310) xRef.

[0177] We have demonstrated that either the first or the second computer system (100, 200) may initiate the request for data from the opposite side. The nature and protocole of the systems are not discussed further herein.

[0178] There are embodiments wherein other but similar bonding techniques can be employed. Which technique that is chosen can depend on efficiency and relevant technical attributes of the two computer systems. In the example an encryption scheme has been used. Referring to Fig. 11 , in an embodiment of the invention a one way function, hashing, is being used, wherein the intermediate user ID (310) xRef is established by hashing with a salt value. An example hashing function is SHA-256. xRef = hash { message <> salt } hash { H7543D <> 780 } MN231 xRef = MN231

[0179] Common intermediate user identity =MN231.

[0180] Another method can be to any xRef lookup value that has a specific bonding by both systems, say using a random string by using a database.

[0181] Further considerations

[0182] One of the essential realizations with the current invention is to be able to manage several principally independent user identities (210, 110) (with its associated data / information) for the same user / individual. An advantage is also that it makes it easier avoid duplicating data between computer systems, and only use one master set of data for the combined functions.

[0183] The current invention obtains two technical features of importance; firstly the user identity does not have to be exchanged between interacting systems, and secondly both (or more) systems can operate and manage combined functionality that depends on managing the combined user profile data as one “virtual” single federated user profile. In other words, without combining and sharing user data the functions in question cannot be made available or operated at all. This further means that one system may process functions within that system based on data that is stored and managed by the other system.

[0184] It also follows that, given a set of software / system rules and principles, this type of functions may even create, update or manage data for the user profiles in one or both (or more) systems.

[0185] An example of the above; User BOS_ID (110) in the first computer system (100) contains profile information that the user birth date is 04 January 2012.

[0186] The second computer system CES (200) has implemented a combined / federated function where every customer that scans a product item (720) with a serial code, for the next day, and that is under the age of 25 will receive double rewards. The CESJD (210) user profile has no data on the user's birthdate or age.

[0187] When a scan is performed by the second computer system CES (200) it uses the methods described by the current invention, by way of requesting the first computer system BOS (100) to give the second computer systems CES (200) function the age data to process the function so as to determine whether the scan qualifies for a double reward or not. Without the invention and the possibility to exchange this information the function cannot be run. In the example the first computer system BOS (100) holds the data required for the second computer system CES (200) as input data to run a function residing and operated on this second computer system CES (200).

[0188] The second computer system CES (200) will now likewise use the current invention to transfer a yes or no message to the first computer system BOS (100) which in turn can update user data accordingly. This example shows that the federated function might even create and manage user profile data in another system BOS (100) than where the function was residing and operated CES (200).

[0189] Creation of new user and user ids

[0190] The description above has detailed how the method and system of the invention is used to exchange data such as Latest GeoPosition and / or unique item code (230) between two systems based on referring to a common intermediate userID (310) via the connector engines (500, 600) for already matching first and second user identities (110, 210) without exhanging the user identities. There are basically two situations where there is a need to establish a “match”, i.e. a corresponding user identity for the same person, in the opposite computer system.

[0191] A first situation is where a new user, and userID exists in one computer system (100, 200) and there is a need to create a corresponding user ID in the other computer system (200, 100). In this case, the algorithm and procedure for matching the two user identities (110, 210) will give a “null” result in the opposite computer system when performed, no userID exists. In an embodiment of the invention, in the protocols between the systems there is a procedure to handle this case. The connector engines (500, 600) and procedures can recognize the case as a “new” user. When the “new” procedure is triggered - the other computer system wherein a corresponding user identity misses, will invoke its own “create new user” and a native user identity is created in that computer system. At the same time the association with the user identity in the relevant connector engine will be made - and the user profile might even be populated with data from the requesting system. There are several ways to do this in practice depending on the communication between the systems. One way by example and referring to Fig. 18, the first computer system (100) BOS used its own procedure to create a new first user id (110), in this case R0045R. The connector engine (500) on the first computer system BOS side further creates (or retrieves) encryption key (605) where the encoding gives the result that: xRef = DF662. common intermediary user identity (310) is "DF662"

[0192] The first computer system (100) BOS sends a “new” user request to the second computer system (200) CES on the opposite side, with the newly generated first user identity (110) "R0045R", including the newly generated intermediate userID (310) xRef "DF662". On the other side, the second computer system (200) CES recognizes the “new” user case and invokes its own internal "create new user". That gives a new second User identity (210) to be "61112", please see Fig. 18 left hand side. The binding and entanglement is now imminent and is performed as both the resulting created second user identity (210) = "61112" and the newly created intermediate userID (310) = "DF662" values are inserted into the connector engine (600) at the second computer system (200) CES, in this case as a table update. (The values from this example are marked in bold).

[0193] Conversly if the second computer system sends a request to the first computer system (100). etc. may result in the second user identity (210) = 65545, please see Fig. 18 (values marked with underline), and the intermediary user identity (310) = "BX677". The first computer system (100) recognizes the «new» user case and invokes its own internal «create new user». This gives a new first User identity (210) to be "L3440R".

[0194] Another situation is when the two computer systems (100, 200) are being “merged” for the very first time and both computer systems (100, 200) have some individual users (105, 205) of whom several are long time users in both systems. If not using the method explained above, a so-called conversion software and procedure must be programmed and run. Looking at the data structure in both systems and discovering data that enables a certain match can then run the binding and entanglement in batch. In the search for a match to estimate whether a match actually relates to one and the same individual user (105, 205), the initially assumed hits may also be rated with the level of certainty of a correct match if more data elements are used.

[0195] By way of example the following case would indicate a match and conversion procedure that is solid.

[0196] At the first computer system (100) BOS:

[0197] Element 001 = email = match mail@qmail.com

[0198] Element 002 = cell no = 2334 445 334 at the second computer system (200) CES:

[0199] Element AA = email = match mail@gmail.com Element BB = cell no = 2334445 334

[0200] Evidently resulting in a full rated match. These examples are only illustrations and suggested strategies on how to match corresponding user identities for the first time.

[0201]

Claims

CLAIMS1. An information exchange system comprising a first computer system (100) and a second computer system (200), a first, unique user identity (110) internal within said first computer system (100), said first, unique user identity (110) having a first user profile (120) for a first user (105), and a second, unique user identity (210) internal within said second computer system (200), said second unique user identity (210) having a second user profile (220) for a second user (205), wherein said first user (105) and said second user (205) is the same, said first and second computer systems (100, 200) are arranged for managing and preserving said internal first user identity (110) and said internal second user identity (210) as secret within at least one of each said first and second computer system (100, 200), respectively, the system further comprising a) a first connector engine (500) in said first computer system (100), said first connector engine (500) arranged to [recognize] [resolve, establish and / or decode] a unique common intermediary user identity (310) to said first user identity (110), and b) a second connector engine (600) in said second computer system (200), said second connector engine (600) arranged to [recognize] [resolve, establish and / or decode] said unique common intermediary user identity (310) to said second user identity (210), thus said first and second computer systems (100, 200) arranged for verifying that said first user (105) and said second user (205) is the same, a communication channel (350) related to said common intermediary user id (310), said communication channel (350) arranged between said first and second computer systems (100, 200) , said communication channel (350) for use, if verified that said first user (105) and said second user (205) is the same, for exchanging information related to said first user profileRECTIFIED SHEET (Rule 91)(120) and / or said second user profile (220) between said first and second computer systems (100, 200).

2. The information exchange systemof claim 1, wherein said second connector engine (600) is arranged to generate said intermediate userjd (310) based on said second userjd (210) and arranged to send said intermediate userjd (310) together with said token (130) to said first connector engine (500) of said first computer system (100), said first connector recognize, resolve / decode said intermediary userjd (310) to said first userjd (110).

3. The information exchange system of claim 1 or 2, wherein said first connector engine (500) is arranged to generate said intermediate userjd (310) based on said first userjd (110) and sends said intermediate userjd (310) to said second connector engine (500), said second connector engine (310) of said second computer system (200) resolves / decodes said intermediary userjd (310) to said second userjd (210).

4. The information exchange system of any of claims 1 - 3, comprising when said common intermediary userjd (310) has been resolved / decoded to said first and second userjd (110, 210),- requesting for and communicating parts of said first or second user profile (120, 220) except said first and second userjd (110, 210) utilizing said intermediary userjd (310) between said first and second computer systems (100, 200) via said secure channel (350), wherein said first and second computer systems (100, 200) can use, store, andact before the common user (105, 205) based on information from the opposite user profile (120, 220) linked to said common user (105, 205).

5. The information exchange system according to any of the preciding claims, wherein said intermediary userjd (310) is encoded.6.The information exchange system according to any of the preciding claims , wherein said intermediary userjd (310) is encrypted.RECTIFIED SHEET (Rule 91)7. The information exchange system according to any of the preciding claims, wherein said first computer system (100) is a brand owner system BOS.

8. The information exchange system according to any of the preciding claims, wherein said second computer system (200) comprises a track and trace system (700).

9. The information exchange system of any of claims the preceding claims, comprising a communicating computer (401) with a user app (400) arranged for being used by said first and second user (105, 205) for logging in and / or communicating with said first and second computer systems (100, 200) under said first and second user identities (110, 210).

10. The information exchange system of claim 8 - 9, wherein a wherein said communicating computer (401) is arranged to use said user app (400) to read a serialized code (230) from a product item (720) and to communicate said serialized code (230) while logged in as said second user identity (210) to said second computer system (200).

11. A method for exchanging information between a first computer system (100) and a second computer system (200), wherein a first user profile (120) for a first user (105) has a unique first user identity (110) internal within said first computer system (100), and wherein a second user profile (220) for a second user (205) has a unique second user identity (210) internal within said second computer system (200), wherein said first user (105) and said second user (205) is the same, whereby said internal first user identity (110) and said internal second user identity (210) are at all times managed and preserved as secret within each said first and second computer system (100, 200), the metod comprising a) establishing a unique common intermediary user identity (310);* wherein said common intermediary user identity (310) is recognizeable to said first user identity (110) by said first computer system (100), and* wherein said common intermediary user identity (310) is recognizeable to said second user identity (210) by said second computer system (200),RECTIFIED SHEET (Rule 91)thus verifying that said first user (105) and said second user (205) is the same, b) establishing a communication channel (350) between said first and second computer systems (100, 200) related to said common intermediary user id (310), c) exchanging on said communication channel (350), information related to said first user profile (120) or said second user profile (220).

12. The method of any of claim 11, wherein a second connector engine (600) is arranged with said second computer system (200) and converts said second user ID (220) to said common intermediary user identity (310).

13. The method of any of claims 11 - 12, wherein a first connector engine (500) is arranged with said first computer system (100) receives said common intermediary user ID (310) converts it or associates it to said first user entity (110).

14. The method of any of claims 11 - 13 wherein said first connector engine (500) is arranged with said first computer system (100) and receives said first user entity (110) and converts said first user identity (110) to said common intermediary user identity (310).

15. The method of any of claims 11 - 14, wherein said second connector engine (600) is arranged with said second computer system (200) and receives said common intermediary user identity (310) and converts said common intermediary user identity (310) to said second user identity (210).

16. The method of any of claims 11 - 15, wherein said user (105, 205) conduct the steps of- logging in and communicates via a user app (400) on a communicating computer (401) under said first user identity (110) on said first computer system (100) and also- logging in and communicating via said user app (400) on said communicating computer (401) under said second user identity (210) on said second computer system (200).RECTIFIED SHEET (Rule 91)17. The method of any of claims 11 - 16, wherein said first computer system (100) generates a token (130) that is linked with said first user identity (110), further transmits said token (130) from said first computer system to said second computer system (200), said second computer system (200) links said token (130) to said second user identity (210),- said second computer system (200) generates or provides said common intermediary user identity (310) based on said second user identity (210),- said second computer system (200) transmits said generated common intermediary user identity (310) and said token (130) to said first computer system (100),- said first computer system (100) receives said common intermediary user identity (310) and said token (130) thus links said common intermediary user identity (310) to said first user identity (110).

18. The method of claim 17, transmitting said token (130) from said first computer system via said user app (400), said user app (400) forwards said token (130) to said second computer system (200), said second computer system (200) linking said token (130) to said second user identity (210).

19. The method of claim 17 or 18, wherein said token (130) is encrypted by said first connector engine (500) and decrypted by said second connector engine (600).

20. The method of claims 18 or 19,- said second computer system (200) using said second connector engine (600) to generate said common intermediary user identity (310) based on said second user identity (210).

21. The method of any of claims 11 - 20, said link between said second user ID (210) via said common intermediary user identity (310) to said first user identity (110) constituting a mutual binding (800).RECTIFIED SHEET (Rule 91)