WO2015059648A1 - Serveur d'applications - Google Patents

Serveur d'applications Download PDF

Info

Publication number
WO2015059648A1
WO2015059648A1 PCT/IB2014/065536 IB2014065536W WO2015059648A1 WO 2015059648 A1 WO2015059648 A1 WO 2015059648A1 IB 2014065536 W IB2014065536 W IB 2014065536W WO 2015059648 A1 WO2015059648 A1 WO 2015059648A1
Authority
WO
WIPO (PCT)
Prior art keywords
transaction
computer
scalars
collections
primitives
Prior art date
Application number
PCT/IB2014/065536
Other languages
English (en)
Inventor
Andrija PETROVIC
Original Assignee
A Better Internet Ltd
Friedman, Mark
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by A Better Internet Ltd, Friedman, Mark filed Critical A Better Internet Ltd
Publication of WO2015059648A1 publication Critical patent/WO2015059648A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality

Definitions

  • the present invention is directed to servers, their applications and reestablishing connections to the applications running on these servers.
  • Contemporary multiuser information systems which are also applicable to single user scenarios, typically have to deal with the problem of synchronizing data on the server versus data on the clients. Clients have to know that they are holding an accurate (in temporal terms, meaning "up to date") copy of the data on the server to function properly.
  • Embodiments of the present invention are directed to servers which are operable in multiple programming languages across multiple technologies (e.g. .NET, php, JAVA, JavaScript) and platforms (e.g. Internet Information Server, WordPress, Joomla, Tomcat, node.js). These servers allow for the modeling of data in a structure similar to the structure of file systems. This is achieved by using "transactions", which are sets of commands for performing operations, known as primitives (primitive data operations). Since the different primitives or primitive types include two operations, SET and REMOVE, it is possible to focus primarily on data modeling for middleware.
  • transformations which are sets of commands for performing operations, known as primitives (primitive data operations). Since the different primitives or primitive types include two operations, SET and REMOVE, it is possible to focus primarily on data modeling for middleware.
  • the structure and the contents of the data structure (that, resembling the structure of file systems, takes a form of a tree) is altered only through transactions, and it is left to the implementation of the server to communicate the Primitives applied to all the interested parties (these might be end-users or other servers).
  • the present invention makes it easy to implement a bilateral conversation which: 1) materializes transactions to data; and, 2) produces transactions out of already existing data.
  • a snapshot of the current state of data is taken and transmitted to the user computer as an initial Transaction. All further Transactions performed on the data can be easily communicated to the user's (client) computer according to its privileges. Privileges of the user's computer are materialized in a form of a key chain. Only those primitives of the transactions that match the particular key chain will be communicated between the server of the present invention and the user's computer.
  • the bilateral conversation allows the users to communicate with the server of the present invention only through the form of Transactions.
  • User computers that are about to alter the data, will issue a "commit" command, specifying the Transaction to be committed.
  • Those user computers about to synchronize with the data will await the Transaction they need to commit in order to maintain the aforementioned synchronization.
  • the complexity of the inner Server architecture is hidden from the user computers.
  • data transmitting is not limited to the type of communication channel (be it UDP, TCP, HTTP/S), nor to the type of the containing Server application (be it reactive/pull or proactive/push server type).
  • Embodiments of the present invention are directed to a computerized system of a database for storing collections and scalars and an interface for configuring at least one of the collections and zero or more of the scalars in accordance with at least one transaction obtained from an application.
  • the collections include containers for collections and scalars, and the scalars include at least one parameter, such as a value, name and key.
  • Embodiments of the present invention are also directed to methods for restoring data connections over the aforementioned communication channels, between a computer associated with a user and a server, utilizing the aforementioned transactions.
  • Embodiments of the present invention are directed to a computerized system.
  • the system comprises, a database for storing collections and scalars, the collections comprising containers for collections and scalars, and the scalars comprising at least one parameter; and, an interface for configuring at least one of the collections and zero or more of the scalars in accordance with at least one transaction obtained from an application.
  • the computerized system additionally comprising an application including the at least one transaction.
  • the at least one transaction includes a list of primitives.
  • the primitives include operations for configuring collections and scalars.
  • operations (of the primitives) include SET and REMOVE.
  • the list of primitives includes an arranged order for the primitives
  • the parameters are selected from the group consisting of values, names and keys.
  • the keys are accessible by specific users.
  • the keys are empty and freely accessible to users.
  • Embodiments of the present invention are also directed to a computer- implemented method for creating a data structure.
  • the method comprises, storing, in a database, collections and scalars, the collections comprising containers for collections and scalars, and the scalars comprising at least one parameter; and, configuring at least one of the collections and zero or more of the scalars in accordance with at least one transaction obtained from an application.
  • the configuring is performed by an interface, associated with an interface layer (e.g., API (Application Program Interface)).
  • interface layer e.g., API (Application Program Interface)
  • the computer-implemented method additionally comprises: obtaining an application including the at least one transaction.
  • the at least one transaction includes a list of primitives.
  • the primitives include operations for configuring collections and scalars.
  • operations of the primitives include SET and REMOVE.
  • the list of primitives includes an arranged order for the primitives.
  • the parameters are selected from the group consisting of values, names and keys.
  • the keys are accessible by specific users.
  • the keys are empty and freely accessible to users.
  • connection over the communication channel may be, for example, over a network, such as a Local Area Network (LAN), Wide Area Network (WAN), including public networks, such as the Internet.
  • LAN Local Area Network
  • WAN Wide Area Network
  • public networks such as the Internet.
  • the application data includes data updates to the present time of the restored connection.
  • the at least one transaction includes operations on at least one collections and zero or more scalars, the at least one collection comprising containers for collections and scalars, and the scalars comprising at least one parameter.
  • the at least one transaction includes a list of primitives.
  • the primitives include operations for configuring collections and scalars.
  • the operations of the primitives include SET and REMOVE.
  • the list of primitives includes an arranged order for the primitives.
  • the parameters are selected from the group consisting of values, names and keys.
  • the method for restoring additionally comprises committing a new transaction, including processing the new transaction by the server.
  • the method for restoring additionally comprises monitoring the status of the data connection, and should the data connection remain active, sending the new transaction as a filtered transaction to the computer.
  • the filtered transaction includes a transaction with certain of the primitives.
  • n and n* in the description below and the drawing figures represents the last member of a series or sequence of members, such as elements, servers, databases, caches, components, listings, links, data files, etc.
  • a “computer” includes machines, computers and computing or computer systems (for example, physically separate locations or devices), servers, computer and computerized devices, processors, processing systems, computing cores (for example, shared devices), and similar systems, workstations, modules and combinations of the aforementioned.
  • the aforementioned "computer” may be in various types, such as a personal computer (e.g., laptop, desktop, tablet computer), or any type of computing device, including mobile devices that can be readily transported from one location to another location (e.g., smartphone, personal digital assistant (PDA), mobile telephone or cellular telephone).
  • PDA personal digital assistant
  • a server is typically a remote computer or remote computer system, or computer program therein, in accordance with the "computer” defined above, that is accessible over a communications medium, such as a communications network or other computer network, including the Internet.
  • a “server” provides services to, or performs functions for, other computer programs (and their users), in the same or other computers.
  • a server may also include a virtual machine, a software based emulation of a computer.
  • GUI graphical user interfaces
  • a "client” is an application that runs on a computer, workstation or the like and relies on a server to perform some of its operations or functionality.
  • HTTP Hypertext Transfer Protocol
  • Hypertext is structured text that uses logical links (hyperlinks) between nodes containing text.
  • HTTP is the protocol to exchange or transfer hypertext.
  • FIG. 1 is a diagram of an exemplary environment on which embodiments of the present invention are performed
  • FIG. 2 is a diagram of the architecture of the application server on which embodiments of the present invention are performed;
  • FIG. 3 is flow diagram of a process for setting up a collection by the application server of FIGs. 1 and 2;
  • FIGs. 4-7 are flow diagrams of various processes performed in accordance with embodiments of the present invention.
  • FIGs. 8-14 are diagrams of the elements involved in building a game or collection in accordance wi th embodiments of the present invention. DETAILED DESCRIPTION OF THE DRAWINGS
  • aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a "circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
  • the computer readable medium may be a computer readable signal medium or a computer readable storage medium.
  • a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
  • a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
  • a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof.
  • a computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can commumcate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
  • Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF (Radio Frequency), etc., or any suitable combination of the foregoing.
  • Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages.
  • the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
  • the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
  • LAN local area network
  • WAN wide area network
  • Internet Service Provider for example, AT&T, MCI, Sprint, EarthLink, MSN, GTE, etc.
  • These computer program instructions may also be stored in a non-transitory computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored on the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
  • the computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • FIG. 1 shows an operating environment for an application server (AS) 100, for example, a computer system, implemented in a user- server configuration according to some embodiments of the present invention and addressable over a network 50, by being linked either directly or indirectly to the network 50.
  • the network 50 is a Local Area Network (LAN), or a Wide Area Network (WAN), including public networks such as the Internet
  • the application server 100 implements the logic of an application.
  • the application is, for example, a process embodied in software, or the like, which is accessed and executed by the users 110a- 11 On through their computers l l la-l l ln, over the network 50.
  • the users 1 10a- 1 1 On may also have key rings 1 12a-112n associated with their respective computers l l la-l l ln, on which keys are held, allowing the users to access locked applications on the application server 100.
  • the application server 100 utilizes hardware, software and combinations thereof, for performing the processes and methods of the present invention.
  • the application server 100 includes an architecture 100' formed, for example, of three layers. These layers include a database layer 202, a transaction API (Application Programming Interface) layer 204, also known as an API or simply an interface, and an application layer 206, also known for example, as an application.
  • a database layer 202 a transaction API (Application Programming Interface) layer 204, also known as an API or simply an interface
  • an application layer 206 also known for example, as an application.
  • the database layer 202 includes, for example, interfaces, databases, entities, and locking mechanisms.
  • the interface is, for example, a collection interface.
  • This layer 202 serves as a database for storing collections, scalars, and the like.
  • Application data is modeled with the collection interface, and the collection interface allows for modeling of an application in a tree-like manner, with collections serving as branches or containers for collections and scalars, and scalars serving as endpoints or leaves.
  • Collections and scalars are both entities, with Collection mapping entities to names Scalar containing parameters, including value(s), name(s) and key(s). For example, in a files system, as disclosed herein, a "Collection" models the directory for the file system and a "Scalar” models the file(s). Scalars do not exist independently, but rather, only exist when collections are present.
  • An Entity or Entity Interface is the base interface for a Collection and a Scalar.
  • the Entity Interface has two features: 1) locking, and, 2) data manipulation.
  • Locking an Entity Interface is achieved with a key.
  • Keys are strings of text, that when empty are considered “unlocked” or "public”, accessible to all users. Data with keys (non-empty) are readable only by users holding a corresponding key. Should a user not hold a corresponding non-empty key, their key ring, on which their key is held, will read out the Entity as an undefined value, e.g., empty or null value.
  • the Scalar specialization of the Entity Interface introduces a possibility to expose two values in the case when it is locked by a non-empty key: 1) the private value that will be exposed to users holding the corresponding key in their key ring; and, 2) the public value that will be exposed to users not holding the corresponding key in their key ring.
  • the scalar interface is depicted in FIG. 10.
  • Data manipulation is performed by primitive data applications, also known as primitives. There are only two primitives, SET and REMOVE. Collections implement both SET and REMOVE primitives, while scalars implement only the SET primitive.
  • a collection is an extension of the Entity Interface.
  • the collection extends the entity interface by introducing: 1) the list of clients; and, 2) the commit and the dump method.
  • the client is a structure that has: 1) a key ring, which is a collection of keys; and, 2) a collection. The client maintains its collection with respect to its key ring.
  • the collection also involves a "commit" procedure, formed of subprocedures including: 1) Taking a named array of primitives of the transaction; 2) performing all primitives from the array in a sequential order. 3) producing a particular Filtered Transaction for every client of the collection (detailed below). After the "commit" is done, each client of the collection will receive its Filtered Transaction to commit locally in order to come up with an accurate replica of the original collection.
  • a "Filtered Transaction” is a transaction that, once committed by a client, will produce a data tree that will accurately represent the original data tree with respect to the client's privileges materialized in a form of a key ring; this means that the resulting client's data tree contain all the data entities that are 1) not locked by a key; and, 2) locked by keys the client currently possesses in its key ring.
  • "dump" procedure is formed of subprocedures including: 1) Taking a client's key ring; 2) taking the current state of data in current moment of time; 3) producing a resulting transaction that is initially empty; 3) looping through all the entities of the current state of data; 4) for each entity in the current state of data producing a primitive that accurately describes the entity; 5) copying each produced primitive into the resulting transaction.
  • the result of the "dump” procedure is a Filtered Transaction that will be sent over to the client so that the client can commit it and come up with an accurate initial replica of the original collection.
  • the transaction API layer 204 is where the contents of the data structure is altered.
  • An array of primitives is designated as a transaction.
  • a transaction is defined by its name and the array of primitives to be performed. Primitives can not exist independently, they are only contained within transactions.
  • the transaction may be implemented in any programming language, such as JAVA Script, and the like.
  • the transaction API layer 204 also supports filtered transactions.
  • a filtered transaction is derived from a particular transaction associated with a particular key ring. Different key rings will derive different filtered transactions from the same original transaction.
  • the application layer 206 supports actual applications. These applications are, for example, games such as poker, taking place in a room, as detailed in the Example, below, or other programs which are cumulative, building on actions of each prior user.
  • users 110a- 11 On connect to the application server 100 in order to receive information from the application in the application server 100 and send requests to the application server 100 that change the application cumulatively.
  • the users 1 10a ⁇ 1 10n then undergo an authentication process, for example, through the use of authentication tokens or other challenge and response mechanisms.
  • the application server 100 will provide the user 110a- 1 1 On with a key, and the user I lOa-T lOn will be given a client.
  • the client will serve as the user's 1 10a- 1 1 On gateway to the application, server 100.
  • the client may monitor the respective user's 110a- 11 On activity to detect a communication breakdown of the connection between the user's computer 1 l la-1 1 In and the application server 100. This monitoring may depend on performance, as monitoring may cease or be limited when user activity with the application server 100 is not active for a predetermined period of time. This is done to save application server 100 resources.
  • the application server 100 always responds to the user with a: 1) session descriptor; and, 2) a transaction.
  • the session descriptor is a key-value pair, with the key being the Application Server's fingerprint and the value being the session identifier.
  • the key-value pair represents a bilateral obligation, where the Application Server's 100 fingerprint enables the user's computer l l la-l l ln to recognize the Application Server 100, and the session identifier enables the application server 100 to recognize the user's computer l l la-l l ln. All user computers l l la-l ln receive the same application server fingerprint, but each individual user computer l l la-l l ln receives a unique session.
  • the transaction needs to be committed by the respective user computer l l la-l l n so that the user computer l l la-l l ln will remain synchronized with the application server's 100 collection, according to the application server's 100 key ring. At this point, the keys are not communicated to the user computers l l la-l l ln. Keys are only present in the Application Server's process space.
  • Processes performed by the application server 100 and the client are now described with reference to the flow diagrams of FIGs. 3-7.
  • the processes performed are, for example, performed automatically and in real time.
  • FIG. 3 details a process for setting up a collection.
  • data is organized into a tree-like structure.
  • the structure is formed of collections, analogous to a tree trunk, subcollections, analogous to tree branches, and scalars, analogous to leaves, which serve as terminal points.
  • Transactions are implemented at block 304, by stacking primitives in a specific order.
  • a collection is built at block 304a, followed by the building of subcollections at block 304b. Scalars are then put on to the subcollections, at block 304c.
  • FIG. 4 details a process for maintaining a logical (data) connection over a physical connection channel, e.g., a communication channel, between the user's computer and the application server 100, by the application server 100, once the user is consuming the application on the application server 100. This includes reestablishing the physical (transport) connection, should it break, or suffer an interruption.
  • the application server 100 detects the user consuming the application.
  • the process moves to block 404 where the application server 100 sends to a user 1 10a- 1 l On a snap shot of the current data in the current time (moment of time) in the form of a transaction, as a stack of primitives in a specified, order.
  • the process then moves to block 406, where the application server 100 waits for a new transaction to be committed. By being "committed", the transaction will 1) alter the current state of data in current moment of time; 2) produce a Filtered Transaction for the user.
  • Filtered Transaction includes primitives that the user will commit in order for his local data copy to come to a state that will accurately represent the state of the original collection.
  • FIG. 5 shows client activity with respect to the application server 100.
  • the client may be, for example, any user computer 1 Hal l In having installed an application from the application server 100.
  • the client connects to the application server 100.
  • the client receives a snap shot of the current data in the current time (moment of time) in the form of a transaction, as a stack of primitives in a specified order, at block 504.
  • the process then moves to block 506, where transaction of the snapshot is ran, and an initial state is created of a data tree of the application server 100.
  • the client By running the transaction of the snap-shot, the client is brought up to the current state of data from the initial state of data. Should a physical connection be broken between the user computer l l la-l l ln and the application server 100, the physical connection upon being reestablished would allow for a re-initialization transaction data to be transmitted from the application server 100 to the client computer l l la-l l ln.
  • the re-initialization transaction data will be produced on the application server 100 using the "dump" procedure on its master collection according to the key ring of the client computer l l la- l l ln and the state of data in the moment of time when the physical connection is reestablished.
  • user computer l l la-l l ln Upon receiving the re-initializing transaction, user computer l l la-l l ln will commit the transaction and come up with an accurate copy of the current state of data on the application server 100. Thereby the logical connection will be preserved.
  • An example of a data tree is the data structure depicted in Fig 14.
  • the client waits to receive a new transaction.
  • the process moves to block 510, where it is determined whether the connection is broken. Should the connection be broken, the process returns to block 502. Otherwise, the process moves to block 512.
  • the client computer 11 1 a- 1 1 On runs the received transaction, to receive all data from the initiation of the transaction through the time the connection is reestablished. Also, the local data tree is updated, to reflect the connection being reestablished, via the application server 100 having buffered the data of the transactions, as detailed above. From block 512, the process moves to block 508, from where it resumes.
  • FIG. 6 there is shown a diagram of the "Commit" transaction.
  • an incoming transaction formed of primitives, e.g., SET and REMOVE commands.
  • the process moves to block 604, where the next, e.g., the first or subsequent, primitive is taken. It is then determined, at block 606, whether the primitive taken is the last primitive. If yes, the process moves to block 608, in which the final new state of the Data Tree is obtained, and the process is finished. If no at block 606, the process moves to block 610.
  • Block 610 is a decision block for the primitive type-SET or REMOVE. If REMOVE, the process moves to block 612, where the affected data entity is removed.
  • An affected data entity is typically: 1) a Collection or 2) a Scalar. From block 612, the process moves to block 604, from where it resumes.
  • the process moves to decision block 614, where it is determined whether an affected data entity exists. If an affected data entity exists, the process moves to block 616, where the data entity is updated. From block 61 , the process returns to block 604, from where it resumes.
  • the process moves to block 618, a decision block for the affected data entity type-Collection or Scalar. If a scalar, the process moves to block 620, where a scalar is created. Is a collection at block 618, the process moves to block 622, where a subcollection is created. From both of blocks 620 and 622, the process returns to block 604, from where it resumes.
  • FIG. 7, Attention is now directed to FIG. 7, where a filtered transaction is built out of a transaction by the application server 100.
  • an empty Filtered transaction is created, and a user's keychain (from block 702a) is kept for future reference during the procedure of producing the Filtered Transaction.
  • a user's keychain from block 702a
  • the process moves to block 704, where the next, e.g., the first or subsequent, primitive is taken. It is then determined, at block 706, wliether the primitive taken is the last primitive. If yes at block 706, the process moves to block 708, where the reference to the user's key chain is forgotten and the process ends at a final filtered transaction at block 710.
  • block 712 which is a decision block for the primitive type-SET or REMOVE. If SET, the process moves to block 714, where it is determined whether the primitive defines a key. Should the primitive define a key, the process moves to block 716. Should the primitive not define a key, the process moves to block 718, where the primitive is copied to the filtered transaction.
  • the process moves to block 720.
  • This Example details the creation of a data structure, specifically, a poker game data structure. Notation
  • Collections and Scalars are depicted where 1) the Collection, as shown in FIG. 8, with its contents, is visible only to the Players who are in hold of a key valued key; and 2) each Scalar, as shown in FIG. 9, has a name, value and key. All Players in hold of a key valued key will see the value. Otherwise, the scalar will be invisible.
  • FIG. 10 the form of a Scalar that defines a particular value for all Players who do not hold of a key valued key, is shown in FIG. 10.
  • This Scalar will expose the public value to all Players who are not holding a key valued key (so it will not be invisible). In the notation, a slash (/) is used to separate the private value from the public value.
  • a Player in a game is modeled by a DCP (Data Collection Platform) Collection with the following structure, as shown in FIG. 1 1.
  • DCP Data Collection Platform
  • a player needs to be deployed in a gaming room.
  • the name of the gaming room is the key for all the scalars of the Player collection and for the very Player collection itself. In the depicted case name of the gaming room is Vegas 1.
  • the Player Collection is FREE, which is also represented by the state Scalar's value. Deploying a Player
  • the player needs to buy in at room Vegas 1 in order to gain access to the corresponding Player Collection.
  • Player Bob's cards are now locked by the value of the Player's name. This is because all the players should be able to observe Bob's name, balance, chips and state, but not his cards.
  • This form of the set primitive has an extra parameter that is the public value, the value that should be seen by all the players who do not hold the key Bob (in other words, all the players except for Bob).
  • This Transaction will be received by all players as a Filtered Transaction. Only Bob will see his cards (Jh, Jack of Hearts, and 8s, Eight of Spades). Other players will see that Bob has got two cards, but facing backwards (— ). Bob's state is now BB, denoting that BigBlmd has been paid for.
  • the structure of a Poker gaming room is shown, for example in FIG. 14.
  • Poker room Vegasl has public Scalars: name, capacity, type, flavor and bigblind. These values are visible by any Player. They will be displayed in the Player's lobby correspondingly, so that a Player might scroll through the lobby and choose a room he will engage in based, on these public values.
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
  • the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

L'invention concerne un système informatisé d'une base de données pour le stockage de collections et de scalaires, et une interface de configuration des collections et/ou de zéro ou plus des scalaires conformément à ladite au moins une transaction obtenue à partir d'une application. Les collections contiennent des contenants destinés aux collections et scalaires, et les scalaires contiennent au moins un paramètre, tel qu'une valeur, un nom et une clé. L'invention concerne également des procédés de restauration de connexions de données par des canaux de communication, entre un ordinateur associé à un utilisateur et un serveur, à l'aide de transactions.
PCT/IB2014/065536 2013-10-22 2014-10-22 Serveur d'applications WO2015059648A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361893931P 2013-10-22 2013-10-22
US61/893,931 2013-10-22

Publications (1)

Publication Number Publication Date
WO2015059648A1 true WO2015059648A1 (fr) 2015-04-30

Family

ID=52992347

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2014/065536 WO2015059648A1 (fr) 2013-10-22 2014-10-22 Serveur d'applications

Country Status (1)

Country Link
WO (1) WO2015059648A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044089A1 (en) * 2003-08-21 2005-02-24 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
US20070202941A1 (en) * 2006-02-24 2007-08-30 Igt Internet remote game server

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044089A1 (en) * 2003-08-21 2005-02-24 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
US20070202941A1 (en) * 2006-02-24 2007-08-30 Igt Internet remote game server

Similar Documents

Publication Publication Date Title
US10693958B2 (en) System and method for adding node in blockchain network
TWI761879B (zh) 用於在區塊鏈網路中刪除節點的系統和方法
US9811684B1 (en) Token-based storage service
Zhang et al. Skychain: A deep reinforcement learning-empowered dynamic blockchain sharding system
CN105247529B (zh) 在目录服务之间同步凭证散列
CN108898390A (zh) 基于区块链的智能合约调用方法及装置、电子设备
CN108805570A (zh) 数据处理方法、装置及存储介质
CN103810444B (zh) 一种云计算平台中多租户应用隔离的方法和系统
US10296599B2 (en) Sharing resources among remote repositories utilizing a lock file in a shared file system or a node graph in a peer-to-peer system
JP2023544422A (ja) ネットワーク内の分散データベースのための方法及び装置
CN110298162A (zh) 应用程序客户端登录方法、装置、计算机设备及存储介质
KR20190079517A (ko) 블록체인 기반 IoT 환경에서의 다중 검색을 지원하는 데이터 구조체를 이용한 검색 방법 및 그 방법에 따른 장치
US10048983B2 (en) Systems and methods for enlisting single phase commit resources in a two phase commit transaction
CN109062663A (zh) 镜像分发方法、装置及存储介质
CN109542590A (zh) Docker集群多租户下虚拟Socket通信的方法
Charapko et al. Bridging paxos and blockchain consensus
CN110175178A (zh) 一种数据处理的方法、节点设备和系统
Mechaoui et al. Mica: Lightweight and mobile collaboration across a collaborative editing service in the cloud
US10127270B1 (en) Transaction processing using a key-value store
US11176013B2 (en) Method to efficiently and reliably process ordered user account events in a cluster
WO2015059648A1 (fr) Serveur d'applications
US10489213B2 (en) Execution of a method at a cluster of nodes
CN107085681B (zh) 鲁棒的计算设备标识框架
US11138078B2 (en) Repairing partially completed transactions in fast consensus protocol
CN109587205A (zh) 共享目录的创建挂载方法及相关设备

Legal Events

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

Ref document number: 14855510

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14855510

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 250117)

122 Ep: pct application non-entry in european phase

Ref document number: 14855510

Country of ref document: EP

Kind code of ref document: A1