Global Number Range Generation via Segmented Block Assignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software systems face inefficiencies in generating and managing global number ranges across multiple applications and geographic regions, leading to latency and concurrency issues, especially when these ranges need to be reused and shared across different software applications and solutions.

Innovation Solution

A computer-implemented method and architecture for generating and consuming global number ranges, which allows for scalable software as a service, defining rules for number generation, splitting ranges into blocks, and using queues to manage and distribute these numbers efficiently, ensuring continuity and reducing latency by appearing to be generated locally to the application, regardless of geographical location.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If global number ranges are centrally generated and shared across multiple applications and geographic regions, then consistency and uniqueness of identification data are improved, but latency and concurrency issues worsen due to network communication overhead

Engineering Contradiction:
Improveconsistency of global number rangesVSAvoidlatency in number generation
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the global number range into multiple blocks, with each block assigned to a specific process or application. This segmentation allows local processes to consume numbers from their assigned blocks without centralized coordination for each number generation, reducing latency while maintaining global uniqueness through the block assignment structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system pre-generates and assigns blocks of global numbers to processes in advance. By performing the number generation and block assignment beforehand, the system eliminates the need for real-time centralized coordination during number consumption, thereby reducing operational latency while ensuring consistency through the preliminary assignment structure.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If global number ranges are generated locally for each application, then latency is reduced and operations appear local, but concurrency issues and potential number conflicts worsen

Engineering Contradiction:
Improvespeed of number generationVSAvoiduniqueness of global numbers
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the global number space into distinct blocks assigned to different processes. Each process operates independently within its assigned block, achieving local generation speed while the segmentation structure prevents number conflicts between processes, thus maintaining global uniqueness without centralized coordination during consumption.

Inventive Principle:
Principle #1Segmentation

3Reliability

If a single centralized system generates all global numbers, then number uniqueness is ensured, but system complexity and single points of failure worsen

Engineering Contradiction:
Improveuniqueness of identification dataVSAvoidcomplexity of number management system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides the centralized number generation function into distributed block assignments. Each process maintains its own assigned block, eliminating the need for a single complex centralized generation system while preserving uniqueness through the structured block assignment. This segmentation distributes system complexity across multiple independent processes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Processes independently consume numbers from their assigned blocks without requiring centralized coordination for each operation. This self-service approach reduces the complexity of the number management system by eliminating the need for continuous centralized intervention, while the block assignment structure ensures global uniqueness is maintained.

Inventive Principle:
Principle #25Self-service

4Adaptability or versatility

If global number ranges are frequently regenerated to meet changing application requirements, then adaptability is improved, but system stability and operational interruptions worsen

Engineering Contradiction:
Improveflexibility of number range configurationVSAvoiduninterrupted operation of processes
Core Design Contradiction:
Adaptability or versatilityVSDuration of action of stationary object

Solution Approach 1:

The system performs number range generation and block assignment in advance, creating stable assignments that can be maintained over long periods. This preliminary action reduces the need for frequent regenerations, thereby maintaining process stability and avoiding interruptions. Adaptability is achieved through the initial configuration rather than frequent changes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent generates blocks of numbers in advance rather than individual numbers on demand. This excessive generation of number blocks provides a buffer that allows processes to operate independently for extended periods without requiring system intervention, thus maintaining stability while the block structure allows for adaptable configuration.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11269593B2Global number range generation
Publication Date: 2022.03.08 SAP SE
  • US11269593B2 patent drawing
  • US11269593B2 patent drawing
  • US11269593B2 patent drawing

AI summary

A system, a method, and a computer program product for generation and consumption of global numbers. A range of global numbers for consumption by a plurality of processes of a software application in a plurality of software applications is generated. The range of global numbers is generated in accordance with one or more requirements of the software application and includes a plurality of blocks of global numbers. The generated range of global numbers is provided to the software application for consumption by the plurality of processes. Each process is assigned a block of global numbers in the plurality of blocks of global numbers and consumes the assigned block of global numbers. A count of global numbers in the global number range consumed by each process in the plurality of processes is determined. Another range of global numbers is generated upon determination of the count being below a predefined threshold.